套接字的工作流程
服务端 例子:
1 import socket 2 3 phone = socket.socket(socket.AF_INET, 4 socket.SOCK_STREAM) # socket.AF_INET代表网络通信,socket.SOCKET_STREAM代表基于tcp协议 相当于买了一个手机 5 phone.bind(('127.0.0.1', 8000)) # 绑定手机号 6 phone.listen(5) # 表示可以有几个电话等着。当你正在接电话的时候,可以有几个电话可以打进来 7 print(123456) 8 conn, addr = phone.accept() # 等电话 返回的是一个元祖 conn 表示返回的链接 addr 表示来电的地址(对方的手机号) 9 print(4545454) 10 data = conn.recv(1024) # 1024表示可以收到的长度 11 print('客户端发来的信息',data.decode()) # 注意套接字收发的都是二进制 12 conn.send(data.upper()) 13 conn.close() 14 phone.close()
客户端 例子:
1 import socket 2 3 phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买手机 4 phone.connect(('127.0.0.1', 8000)) # 拨打电话 5 phone.send('caiheng'.encode()) 6 data = phone.recv(120) 7 print(data.decode())