socket程序是最常用的网络通信接口。确埠颁犍虽然不同平台的具体实现方式不一样,但基础流程都是一样的,不外乎服务器和客户机。服务器拎枋辏话都有创建socket、绑定主机IP和端口(bind)、监听客户机(listen)、等待客户机连接(accept)等接口。客户机都有创建socket、连接服务器(connect)等接口。下面以python为例,说明下基于TCP的socket网络通信程序的基本步骤。
工具/原料
python
方法/步骤
1、TCP服务器程序的编写步骤:创建一个服务器socket:它相当于客服中氦搌弁廓心,在python中需要用到socket包的socket方法,使用fromsocketim禊诬娱飑port*导入即可,该方法返回一个服务器socket对象,具体调用形式为:serverSocket=socket(AF_INET,SOCK_STREAM)。
2、给服务器socket绑定IP地址和端口:这相当于给客服中心配置电话号码,在python使用socket对象的bind方法,具体调用形式为:serverSocket.bind((host,port)),其中host为以字符串形式给出的IP地址,port为端口号。
3、设置服务器socket进入监听状态:相当于客服中心开始上班,在python使用socket对象的listen方法,具体调用形式为:serverSocket.listen(10)传入的参数为允许接入的客户机的个数。
4、等待客户机接入:相当于客服在线等待客户求助电话,在这个过程中客服不能忙其它的事,在python使用accept方法,这个方法返回一个连接socket和一个客户机地址,具体调用形式为:tempSocket,addr=serverSocket.accept()。
5、socket连接成功,开始进行数据传输,传输过程中应使用连接socket,在python使用socket对象的recv方法读取,读取后的是二进制数,如果要显示需要进行解码:data=tempSocket.recv(1024).decode()。
6、完整的服务器程序如下:
7、客户机程序流程比服务器要简单,首先创建一个socket对象,然后使用该对象的connect连接对应地址的服务器,连接成功后即可开始通信,下面是供参考的pythonTCP客户机程序: