应用层中SOCKET的使用

Posted 木色小罗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用层中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的使用的主要内容,如果未能解决你的问题,请参考以下文章

Socket.io 无法在 ReactJS 应用程序中连接

套接字——socket

socket的使用

在角度/电子应用程序中使用带有 socket.io 的 nodejs 脚本

使用 Socket.io 在 React Native 移动应用程序中不起作用

是否可以在不使用 socket.io 的情况下在节点中制作聊天应用程序