问题描述
在这里,我有一个服务器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 (将#修改为@)