网络编程-SOCKET开发之----3. socket通信工作流程

Posted miaoning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程-SOCKET开发之----3. socket通信工作流程相关的知识,希望对你有一定的参考价值。

1. TCP的socket通信流程

技术图片

服务端

1)socket----创建socket对象。

2)bind----绑定本机ip+port。

3)listen----监听来电,若在监听到来电,则建立起连接。

4)accept----再创建一个socket对象给其收发消息。原因是现实中服务端都是面对多个客户端,那么为了区分各个客户端,则每个客户端都需再分配一个socket对象进行收发消息。

5)read、write----就是收发消息了。

客户端

1)socket----创建socket对象。

2)connect----根据服务端ip+port,发起连接请求。

3)write、read----建立连接后,就可发收消息了。

 

注意服务端需要绑定ip+port,而客户端不需要。原因是:i)对于服务端,有以下特点:实际开发中是面对多个客户端的、需长时间提供服务、被动的等待被呼叫,这就要求服务端的ip+port固定,否则无法为客户端提供稳定服务;ii)对于客户端,其位置可能多变,并且是主动呼叫服务端,这样就导致其ip+port可能会经常变化,但这没关系,只要知道服务端的ip+port,客户端就可以呼过去,然后服务端根据来电地址,再回复信息。

 

以上是关于网络编程-SOCKET开发之----3. socket通信工作流程的主要内容,如果未能解决你的问题,请参考以下文章

网络编程之TCP客户端开发和TCP服务端开发

2-2:套接字(Socket)编程之深入了解套接字

iOS开发之Socket

python之路-socke开发

Python之socket

Python—网络编程之tcp编程