2014-02-23 75 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

幹得好,堆棧溢出。現在我至少知道我不會去尋求幫助。這在某種程度上本身就是有用的。沒有被刪除的一個問題在數天內未得到答覆。大聲笑。如果有人偶然發現有這個或者類似問題的線索在一些可能享有自己甜美,甜美的嗅覺的自負,自我重要的膽小鬼之前被認爲是完美無瑕的屁,那麼我建議你找到一個真正的論壇。