我有插座的客戶端和服務器的簡單程序其不能通過互聯網Python的SOCK_STREAM通過互聯網
# Echo server program
import socket
import ImageGrab
HOST = '' # Symbolic name meaning all available interfaces
PORT = 3000 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
data = conn.recv(1024)
print data
conn.close()
# Echo client program
import socket
import ImageGrab
#destnation ip
HOST = '127.0.0.1' # The remote host
PORT = 3000 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send('Hello rushikesh')
s.close()
print 'Received'#, repr(data)
工作當我們試圖讓它工作在網上是無法連接。程序如上圖所示只是目的地ip被我的朋友ip替換。
當工作在本地主機它工作完全正常,但沒有工作過互聯網......
我一直在使用SOCK_DGRAM
它工作在網絡僅用於數據的小塊寫入的程序。我想用它傳輸圖像,所以我使用SOCK_STREAM
來傳輸圖像,用於傳輸在localhost上成功運行並且不能通過互聯網工作的圖像。所以,我沒有寫簡單的程序,但仍表現出同樣的問題
能有人請我的GUID通過這個...
據說主機'localhost'或'127.0.0.1'只會聽lan,但'0.0.0.0'會聽所有的適配器。 – Luke 2016-07-12 11:27:19