Socket连接的流程

套接字是支持TCP/IP协议网络通信的基本操作单元,可以将套接字看作不同主机间的进程双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理
一般的线程通过套接字通信而引进的一种抽象概念。套接字通常会和同一个域中的套接字交换数据(数据交换也可能会穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域用
Internet协议来进行相互之间的通信。

下图展示的是一套基本的Socket通信流程

Socket通信的基本流程具体步骤如下所示。
1)开启一个连接之前,需要先完成Socket和Bind两个步骤。Socket是新建一个套接字,Bind指定套接字的IP和端口(客户端在调用Connect时会由系统分配端口,因此可以省去Bind)。
2)服务端通过Listen开启监听,等待客户端接入。
3)客户端通过Connect连接服务器,服务端通过Accept接收客户端连接。在connect-accept过程中,操作系统将会进行三次握手。
4)客户端和服务端通过write和read发送和接收数据,操作系统将会完成TCP数据的确认、重发等步骤。
5)通过close关闭连接,操作系统会进行四次挥手。

System.Net.Sockets命名空间的Socket类为网络通信提供了一套丰富的方法和属性,表6-6和表6-7列举了Socket类的一些常用方法和属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值