瘾女子丶 2019-04-24 10:44 采纳率: 0%
浏览 3385

p用python实现socket通信,多客户端接入,服务器与客户端交互数据

最近在学习socket通信,用python编程,初学者。
目标是:实现多个客户端与一个服务端通信,客户端会间断发送信息(例如每隔0.2s一发送),服务器可以同时接受多个客户端信息,并处理其中一个客户端的信息将处理后的信息分发送给其余客户端

我自己做了一个小的程序,但是报错,请大神纠正

####服务器端程序:

#!/usr/bin/env python
#coding:utf-8
import threading
import socket
import time
import sys

server = socket.socket()
server.bind(('192.168.3.79', 9999))
server.listen(6)
socks = [None]*6
print('服务器准备好了')

# print('请输入目标点坐标')
# x = input('x方向坐标:')
# y = input('y方向坐标:')

#print('接入{}个客户端准备'.format(num))

print("可以发送控制数据了")
def Threader(conn):
    conn.send('已经建立连接'.encode())
    time.sleep(0.2)
    data = conn.recv(1024)
    if not data:
        conn.close()

if __name__ == '__main__':

    while True:
        conn,addr = server.accept()
        print ('Connect by ',conn)
        socks.append(conn)
        t = threading.Thread(target=Threader,args=(conn,))
        t.start()

####客户端程序

#!/usr/bin/env python
# coding=utf-8

import socket,sys
import time
client = socket.socket()
client.connect(('192.168.3.79',9999))
client.send('hihi I am client')
time.sleep(0.5)
data=client.recv(1024)
print('the data received is\n ',data )

结果是只能有一个客户端连入,另外一个连不进去
错误提示如下:
图片说明

#求大神帮忙修正,不胜gan'ji

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 19:38
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作