python 聊天室实现底层原理及命令,单线程

import socket
host=”#表示本机所有地址 0。0。0。0
port=12345# 应该大于1024
addr=(host,port)
s=socket.socket()#默认值就是基于TCP的网络套接字

设置选项,程序结束之后可以立即再运行,否则要等60秒

s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind(addr)#绑定地址到套接字
s.listen(1)#启动侦听进程
while True:
cli_sock,cli_addr=s.accept()#等待客户端连接
print(‘Client connect from :’, cli_addr)
while True:
data=cli_sock.recv(1024) #一次最多读取1024字节数据
if data.strip() == b’end’:
break
print(data.decode(‘utf8’))#bytes类型转为string类型
data=input(‘>’)+’\r\n’
cli_sock.send(data.encode(‘utf8’))#发送的数据要求是bytes类型
cli_sock.close()#客户端关闭
s.close() #服务器关闭

yum install -y telnet

telnet 127.0.0.1 12345

猜你喜欢

转载自blog.csdn.net/weixin_42796092/article/details/81290176