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

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
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

悬赏问题

  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 SQL Server下载
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?