多客户端一台服务器消息传递python套接字

问题描述

在这里,我有一个服务器A的脚本以及两个客户端B和C,如果我从客户端B发送消息,它应该通过服务器A接收到客户端C,反之亦然。由于我是Socket编程的新手,任何帮助都可以很棒。

服务器A

import socket,sys

socket.setdefaulttimeout(150)
host = ''               
port = 50005
socksize = 1024

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
print("Server started on port: %s" % port)
s.listen(1)



while True:
    print("Now listening...\n")
    conn,addr = s.accept()
    print(conn)
    print ('New connection from %s:%d' % (addr[0],addr[1]))
    data = conn.recv(socksize)
    if not data:
        break
    elif data == 'killsrv':
        conn.close()
        sys.exit()
    else:
        print(data)

客户B

import socket
import time

HOST = '127.0.0.1'  # The server's hostname or IP address
PORT = 50005      # The port used by the server


with socket.socket(socket.AF_INET,socket.SOCK_STREAM) as s:
    s.connect((HOST,PORT))
    
    s.sendall(b'Hello,world')
    #time.sleep (3.0)
    #data = s.recv(1024).decode()
    #print(data)
    

客户端C

import socket
import time

HOST = '127.0.0.1'  # The server's hostname or IP address
PORT = 50005        # The port used by the server


with socket.socket(socket.AF_INET,PORT))

    s.sendall(b'Hello,abcd')
    #time.sleep (3.0)
    #data = s.recv(1024)

因此,应将客户端B的消息(问候世界)发送给客户端C,并将客户端C的消息(问候abcd)也接收给客户端B。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...