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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值