循环通信

循环通信


##服务端
import socket
"""
服务端的要求:
1.24小时不间断提供服务
2.有固定的ip和port(端口)
3.支持高并发,也就是能同时服务很多个用户

并行:同一时间点上多个任务同时运行,真正意义上的同时执行
并发:同一时间段内,多个任务同时执行,只要看起来像同时进行就可以称之为并发



现在我们要求能持续不断的发送消息,就像QQ对话一样,还要能将出错的异常捕获:
"""
server = socket.socket()
server.bind(('127.0.0.1',8080))
server.listen(5)


conn, addr = server.accept()
while True:
    try:
        data = conn.recv(1024)  # b''
        if len(data) == 0:break  # 针对mac linux系统而言
        print(data.decode('utf-8'))
        info = input('=====>').strip()
        conn.send(info.encode('utf-8'))

    except ConnectionResetError:
        break

conn.close()
server.close()

##客户端

import socket


client = socket.socket()
client.connect(('127.0.0.1',8080))

while True:
    msg = input('please input your msg>>>:').encode('utf-8')
    if len(msg) == 0:continue
    if msg == 'q'.encode('utf-8')or msg == 'Q'.encode('utf-8'):
        break
    client.send(msg)
    data = client.recv(1024)

    print('====>',data.decode('utf-8'))
client.close()


转载于:https://www.cnblogs.com/1832921tongjieducn/p/10968279.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值