- 积分
- 3632
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2021-3-9 09:55 编辑
打开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()
|
|