先用的udp通信代码,后来再看tcp通信代码时有一些区别,尤其是socket对象使用问题上,就有很大区别
服务器端:
import socket
host=''
port=12344
addr=(host,port)
tcpSerSock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcpSerSock.bind(addr)
tcpSerSock.listen(5)
#上面部分除了指明的通信协议---SOCK_STREAM不同,其他相同
while True:
print('尝试连接客户端……')
#udp中是recvfrom(buffersize),tcp这里用accept();tcp这里接收到的是客户端的sock对象,后面接受数据时使用socket.recv()
tcpCliSock,client_addr=tcpSerSock.accept() #等待接受连接
print('连接成功,客户端地址为:',client_addr)
while True:
data=tcpCliSock.recv(2048)
if not data:
break
print(data.decode())
msg=input('请输入:')
if not msg:
break;
#udp中是udpSerSock.sendto(msg.encode(),cl