此渠道会维持到某一方关闭为止。归纳来讲TCP负责将数据分割并装入IP包,
f然后到达IP包的时候重新组合数据,IP最后负责将包发送至接受者。23、TCP三次握手确认连接的建立所谓三次握手建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送三个包以确认连接的建立。在Socket编程中,这一过程由客户端执行co
ect链接来触发。下图说明整个流程:
SYN:同步标志,该标志在建立链接时有效ACK:确认标志,确认编号栏内包含的确认编号为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。Seq:一般用作一堆数字的简化写法。第一次SYN_SENT请求链接握手时:Clie
t客户端将SYN置为1,随机产生seqJ并将数据包发送给Server,等待Server确认。第二次SYN_RCVD接收请求握手时:server收到数据包由SYN1知道Clie
t请求建立链接后,server将SYN和ACK置为1ackJ1,随机产生seqK,在发送给Clie
t确认请求。第三次ESTABLISHED确认请求握手时:Clie
t收到server的SYN和ACK包向server发送确认包ACK1ackK1,完成整体链接。即可开始传输数据。
24、TCP四次挥手
所谓四次挥手即终止TCP链接,就是断开客户端和服务端之间的数据传输。这个过程总共需要发送四个包以确认链接的断开。在Scoket编程中,这一过程由客户端或者服务端执行close来触发。
fFIN_WAIT1终止等待1FIN_WAIT2终止等待2CLOSE_WAIT结束等待LAST_ACK最后确认TIME_WAIT时间等待第一次握手:Clie
t发送一个FINM,用来关闭Clie
t对server的数据传送,第二次握手:server接收到Clie
t请求后并发送ACKM1进行确认。第三次握手:server再次发送一个FIMN用来关闭server对Clie
t的数据传送。第四次握手:Clie
t接收到server的FIN请求后,在此发送ACK1ackK1进行确认最后关闭。
第三章CSharp操作Socket编程精篇(上)
Socket主要有两种类型:11、流式Socket
是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低。
12、数据报式Socket
是一种无连接的Socket,对应无连接的UDP服务应用,不安全,但效率高。
Socket一般应用模式(服务端和客户端)21、服务端的Socket(至少需要两个)
01、Socket第一个负责接收客户端连接请求但不负责与客户端通信。
f02、当成功接收到客户端的连接便在服务器端产生一个对应的复杂通信的Socket第二个021、在接收到客户端连接时创建。022、对每个连接成功的客户端,创建对应Socket负责和客户端通信。
22、客户端的Socket
01、必须指定要连接的服务器地址和端口r