1. 程式人生 > >Python socket 通訊,同一臺電腦可以正常訪問而另一臺電腦無法訪問問題

Python socket 通訊,同一臺電腦可以正常訪問而另一臺電腦無法訪問問題

一、官網的例子

服務端程式碼

# Echo server program
import socket

HOST = ''                 # Symbolic name meaning all available interfaces
PORT = 50007              # 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 while 1: data = conn.recv(1024) if not data: break conn.sendall(data) conn.close()

客戶端程式碼

# Echo client program
import socket

HOST = '10.118.158.93'    # The remote host
PORT = 50007              # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(
'Hello, world') data = s.recv(1024) s.close() print 'Received', repr(data)

本機啟動服務端程式碼,本機啟動客戶端程式碼,可以看見輸出:

Received 'Hello, world'

Process finished with exit code 0

本機啟動服務端程式碼,另外一臺電腦啟動客戶端程式碼,卻沒有列印

二、原來不是程式碼的原因,是win7防火牆預設阻止了

1)如下

微信截圖_20171121184502

2)如下

微信截圖_20171121184905

找到python程式,四個地方打上勾,再執行程式碼,可以看見列印輸出了。