首页 > 代码库 > 应用层中SOCKET的使用

应用层中SOCKET的使用

TCP和UDP是基本通讯组件SOCKET,TCP的连接流程情况如下文。建立简单的TCP客户端和服务端比较简单,但是当有数以百计的TCP客户端连接的时候处理难度难度则增加,解决方法如下文。

    在TCP/IP协议中,TCP协议通过三次握手建立一个可靠的连接

第一次握手:客户端尝试连接服务器,向服务器发送syn包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入SYN_SEND状态等待服务器确认

第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态

第三次握手:第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

定睛一看,服务器socket与客户端socket建立连接的部分其实就是大名鼎鼎的三次握手

技术分享

以上部分来源于

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

 

高性能的TCP服务实现(c#)

TCP服务端的性能好坏决定了后期通讯框架的稳定,若没弄好后期项目中的bug分析比较棘手。

大侠  匠心十年 发布了篇关于此内容的文章。http://www.cnblogs.com/gaochundong/p/csharp_tcp_service_models.html

后期学习透彻后将更新此内容。这里直接上一项目中使用过的TCP服务源码

点击下载源码

 

应用层中SOCKET的使用