美文网首页
Socket 是如何工作的?

Socket 是如何工作的?

作者: TonyIe | 来源:发表于2019-02-25 16:53 被阅读0次

    Socket本质是网络通信编程接口(API),平时我们用到的high-level网络编程底层实现其实就是Socket。它面向的是两个传输层协议的编程,分别是UDP和TCP,UDP是不可靠传输协议(比如TFTP、TFTP、SNMP),TCP是可靠传输协议(比如HTTP、FTP、Telnet)。 这里不作赘述,有兴趣的可以查资料了解,推荐找网络原理的书看。

    Chart

    socket connect

    通信过程

    首先服务端需要在某个端口上发起监听(listen), 客户端需要知道服务端的IPPort(端口号),接着向服务端发起socket连接请求。在
    发起连接的时候,客户端也会带上本地的Port和IP,一般由系统去做这个事情。

    客户端向服务器发起socket连接

    如果没有出现问题的话,服务器接受(accept)客户端的请求。之后同样创建一个socket套接字,绑定(bind)到本地的端口,并设置它远程端点(client)的IPPort。服务器会继续创建一个新的socket来监听(listen)客户端的请求。

    服务端创建socket连接

    在客户端,当一个连接被接受(accept)时,socket就创建成功了,客户端使用这个socket和服务器进行数据传输。
    服务端和客户端通过write or read来进行通信。

    socket连接是两个应用在网络中沟通的桥梁,socket绑定的端口号用来标识数据是被发送到指定的应用的。

    相关文章

      网友评论

          本文标题:Socket 是如何工作的?

          本文链接:https://www.haomeiwen.com/subject/tfprlqtx.html