| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
| 
本帖最后由 15195775117 于 2021-3-9 09:55 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 打开2个cmd窗口,分别执行服务器和客户端脚本,二者就可以聊天了,
 不过是交替进行的聊天,因为代码中不收到数据,就不给发送数据。
 发送数据要encode,接收数据要decode
 脚本结尾处的释放socket句柄似乎没用,因为循环不会结束
 
 
 
   
 服务器端脚本:
 import socket
 #主机IP:
 host=socket.gethostname()
 #设置端口号:
 port=12345
 #新建socket对象:
 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 #绑定端口:
 s.bind((host,port))
 #设置最多连接数:
 s.listen(3)
 #被动接收客户端连接:
 sock,addr=s.accept()
 print('连接已建立')
 #接收客户端数据:
 info=sock.recv(1024).decode()
 while True:
 print('收到:'+info)
 send_data=input('发送的内容:')
 #发送数据:
 sock.send(send_data.encode())
 info=sock.recv(1024).decode()
 #关闭客户端套接字:
 sock.close()
 #关闭服务器套接字:
 s.close()
 
 
 
 
 
 客户端脚本:
 import socket
 #新建socket对象:
 s=socket.socket()
 #主机IP:
 host=socket.gethostname()
 #端口号:
 port=12345
 #主动初始化TCP服务器连接:
 s.connect((host,port))
 print('已连接')
 while True:
 #输入内容:
 send_data=input('输入:')
 #发送:
 s.send(send_data.encode())
 #接收服务器数据:
 info=s.recv(1024).decode()
 print('接收内容:'+info)
 s.close()
 
 
 | 
 |