2014-02-23 37 views
0

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

服务器程序

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())) 

回答

0

干得好,堆栈溢出。现在我至少知道我不会去寻求帮助。这在某种程度上本身就是有用的。没有被删除的一个问题在数天内未得到答复。大声笑。如果有人偶然发现有这个或者类似问题的线索在一些可能享有自己甜美,甜美的嗅觉的自负,自我重要的胆小鬼之前被认为是完美无瑕的屁,那么我建议你找到一个真正的论坛。