计算机网络-socket简介

(一)socket概念

网络进程间通讯,两个进程需唯一确定,网络层的“IP地址”可以唯一标识网络主机,传输层的“IP+端口号”可以唯一确定网络间两进程。

标识网络两进程后,进行通讯一般是利用socket。

socket源于unix,延续了“一切皆文件”的概念,都使用“打开-》读写-》关闭”文件操作的方式。

socket处于传输层和应用层之间,关系如下图所示。

(二)socket通讯过程

server:socket->bind->listen->accept->receive->close

client:socket->connect->send->close

server端需要获取ip和绑定端口号,让client调用,所以需要bind和listern;client的端口号在connect的时候绑定端口号。

(三)socket建立连接过程

同TCP/IP三次握手建立连接

运用抓包工具,可以看到我访问博客http://blog.csdn.net/wangpeifeng669时候的三次握手情况

(四)socket释放过程

四次释放释放连接

java的socket连接demo参考这里

截图来自:

http://blog.csdn.net/dlutbrucezhang/article/details/8577810

http://www.cnblogs.com/dolphinX/p/3460545.html

时间: 2024-11-06 11:56:38

计算机网络-socket简介的相关文章

Unix网络编程 之 socket简介

概述 Socket的英文原意是"孔"或"插座",现在,作为Unix的进程通信机制,常常取"插座"这一意义.日常生活中常见的插座,有的是信号插座,有的是电源插座,有的可以接收信号或能量,有的可以发送信号或能量.举例来说,电话线与电话机之间需要一个插座(相当于两者之间的接口,这一部分装置物理上是存在的).对于网络编程,socket就相当于电话线与电话机之间的插座. 将电话系统与面向连接的Socket机制相比,两者之间有着惊人的相似的地方.以一个国家的

iOS开发之socket简介

1,socket是什么? 2,socket的作用 3,socket怎么用 4,socket的扩展 —————————————————————— socket是什么? Socket这个名词现在有很多不同的意思,这里主要讲到其中2个含义.一是,套接字socket=(IP地址:端口号),是端的概念.二是,socket在应用层和传输层之间,是层的概念. 要理解socket是什么,首先要理解网络的分层结构,目前internet广泛使用的TCP/IP模型,总结起来网络模型分为四层,从上层往下依次为:应用层.

计算机基础:计算机网络-socket编程

来源:mooc大学华南理工大学计算机网络课程 chapter6 代码:https://github.com/NeilKeats/SocketDemo/commit/5f3a795250a95339106ed741b4355a9c6c3d39e9 1.设计原理:CS系统 2.如何使用: 3.TCP通信的socket例子:文件传输 原文地址:https://www.cnblogs.com/zhizhiyin/p/9400298.html

Socket简介(精通 Socket 养全家)

 0.     nc -lk 端口号 :始终监听本地计算机此端口的数据.             1.导入三个头文件     {         #import <sys/socket.h>         #import <netinet/in.h>         #import <arpa/inet.h>     }         2.Socket书写步骤     {         1.创建客户端Socket            socket(<#in

计算机网络Socket编程之TCP协议

>TCP协议位于传输层,是一种面向连接的可靠的传输协议 >socket(套接字):是IP地址与端口号的统称 >套接字的基本结构 struct sockaddr   这个结构用来存储套接字地址 结构体的定义 struct sockaddr { unsigned short sa_family; /* address族, AF_xxx */ har sa_data[14]; /* 14 bytes的协议地址 */ }; sa_family    一般来说,都是"AFINET&quo

计算机网络socket编程之UDP

>UDP是一种不面向连接的不可靠的网络传输协议 UDP协议前面大部分和TCP协议差不多,只是他的客户程序不需要连接,而是直接发送数据. >sendto() 和recvfrom() 函数 使用这两个函数,则数据会在没有建立过任何连接的网络上传输.正好可以在进行无连接的UDP 通讯时使用的.因为数据报套接字无法对远程主机进行连接,想想我们在发送数据前需要知道些什么呢?是远程主机的IP 地址和端口! 下面是sendto()函数和recvfrom()函数的声明: #include <sys/ty

socket 简介

对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.         什么是TCP/IP.UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网

socket简介

目录(?)[-] 网络中进程之间如何通信 什么是Socket socket一词的起源 socket的基本操作 1socket函数 2bind函数 网络字节序与主机字节序 3listenconnect函数 4accept函数 5readwrite等函数 6close函数 socket中TCP的三次握手建立连接详解 socket中TCP的四次握手释放连接详解 一个例子实践一下 动动手 “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和

iOS进阶_Socket(Socket简介&amp;代码演练)

网络通讯三要素 TCP & UDP 三次握手 断开连接的四次握手 Socket套接字 了解了上面的概念,我们开始演练一下Socket #import "ViewController.h" #import <sys/socket.h> #import <netinet/in.h> #import <arpa/inet.h> @interface ViewController () @end @implementation ViewControl