python 的socket客户端使用,和异常处理

python 的socket客户端使用,和异常处理

欢迎使用Markdown编辑器

与c++通信服务端

reclist = ''
try:
    socket.setdefaulttimeout(9)
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
    s.connect(('127.0.0.1', 8080))# 这里事服务器的地址和端口
    data = {"sys": "2", "name": "dd"}
    s.sendall(json.dumps(data, ensure_ascii=False).encode('UTF-8'))
    rec = s.recv(40)
    print(rec.decode('utf-8'), "接收成功")
    s.sendall(json.dumps(msg, ensure_ascii=False).encode('UTF-8'))
    a = s.recv(16)
    print(a.decode('utf-8'), "接收成功")
    s.settimeout(10)
    while True:
        data = s.recv(10000)
        data = data.decode('utf-8')
        reclist += data
        print(reclist)
        print("#######################################")
        if len(data) == 0:
            break
        print('hh')
except ConnectionRefusedError as e: 
    contexts = {'isSuccess': False, 'responseData': {'data': []}, 'message': e}
    return HttpResponse(json.dumps(contexts, ensure_ascii=False))
except ConnectionResetError as f:
    contexts = {'isSuccess': False, 'responseData': {'data': []}, 'message': f}
    return HttpResponse(json.dumps(contexts, ensure_ascii=False))
except socket.timeout:
    contexts = {'isSuccess': False, 'responseData': {'data': []}, 'message': '服务器超时'}
    return HttpResponse(json.dumps(contexts, ensure_ascii=False))
return reclist
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello_gmfworld

你的鼓励是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值