python进阶__用socket封装TCP
想要理解socket协议,点击链接,出门左转
一、TCP 通信的服务器端编程的基本步骤:
- 服务器端先创建一个 socket 对象。
- 服务器端 socket 将自己绑定到指定 IP 地址和端口。
- 服务器端 socket 调用 listen() 方法监听网络。
- 程序采用循环不断调用 socket 的 accept() 方法接收来自客户端的连接
1 #创建socket 对象 2 s = socket.socket() 3 #将socket 绑定到本机IP 地址和端口 4 s.bind (('192.168.1.88', 30000)) 5 #服务器端开始监听来自客户端的连接 6 s.listen() 7 while True: 8 #每当接收到客户端socket 的请求时,该方法就返回对应的socket 和远程地址 9 c, addr = s.accept() 10 ...
二、TCP 通信的客户端编程的基本步骤:
- 客户端先创建一个 socket 对象。
- 客户端 socket 调用 connect() 方法连接远程服务器。
1 import socket 2 import struct 3 4 class SelfPackage:#将接口内容封装在类SelfPackage中 5 def __init__(self,ip,port): 6 self.IP= ip 7 self.Port= port 8 self.stopthread = True 9 self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#创建客户端套接字,SOCK_STREAM对应协议类型为TCP 10 self.client.connect((self.IP, self.Port)) 11 12 def client_connect(self,ip,port):#客户端连接IP及端口 13 self.client=socket.socket() 14 self.client.connect((ip,port)) 15 return self.client 16 17 def get_current_msg(self):#客户端接收数据 18 status_msg = self.client.recv(2664)#每次接收2664字节 19 while len(status_msg)<2664: #如果接收到的字节长度不满2664,就要补齐,不能丢掉 20 status_msg += self.client.recv(2664) 21 return status_msg 22 23 def client_close(self):#关闭客户端 24 self.client.close()
创建客户端实例:
socket_tcp1=SelfPackage(ip="192.168.1.1",port=2222)
中国有句古话:祸福无门,惟人自招,善恶之报,如影随形。细看世间事,都有因果可循,而这因果,就藏在每个人的选择里。你选择善良做人,温柔待人,勤恳做事,总有一天,会被世界温柔以待,得到相应的回报,你选择尖酸刻薄,处处算计,总有一天,会自食恶果,殃及自身。善待别人,就是善待自己;尊重别人,就是庄严自己;宽容别人,就是放过自己。