python 3.3套接字中继,服务器无法访问值

时间:2014-02-23 21:03:28

标签: string sockets python-3.x

我正在尝试学习python。我正在尝试做的主要事情之一是创建一个中继器,它将从一个客户端发送到另一个客户端的套接字。在我开始时,我已经开始对基本的客户端/服务器示例脚本进行一些简单的修改。但是,发生的情况是服务器本身不会或由于某种原因无法打印出它重复返回给客户端的值。我只得到“收到的”,就像它是一个空字符串。请帮我理解并解决这个问题?

服务器程序

import socket

HOST = ''                 # Symbolic name meaning all available interfaces
PORT = 50007              # Arbitrary non-privileged port
data = ''
message = ''
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(5)
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data: break
conn.sendall(data)

conn.close()
print('Received', repr(data.decode()))

客户端程序

import socket

HOST = '192.168.56.1'    # The remote host
PORT = 50007              # The same port as used by the server
x = input('Message:')
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(x.encode())
data = s.recv(1024)
s.close()
print('Received', repr(data.decode()))

1 个答案:

答案 0 :(得分:0)

干得好,Stack Overflow。现在我至少知道我不会找到帮助的地方。这在某种程度上本身是有帮助的。一个没有被删除的问题几天都没有得到答复。大声笑。如果有人碰巧遇到这个或类似的问题之前有一些冒昧的,自我重要的chutzpah可能喜欢他们自己的甜蜜,甜蜜的气味被认为是完美的屁删除它,我建议你找到一个真正的论坛。 / p>