我試圖從樹莓派的數據(傳感器讀數,因爲他們採取了)發送到使用以太網電纜將我的Windows筆記本電腦兩臺機器之間的連接,雖然第一次我只是試圖成功連接兩臺機器。Python客戶端/服務器端的代碼 - 不能夠通過以太網
我創建了一個client.py代碼和server.py代碼。服務器正在Pi上運行,客戶端正在我的筆記本電腦上運行。我還在Rasperry Pi(192.168.0.17)上設置了一個靜態IP地址。當我在筆記本電腦上運行IPCONFIG時,筆記本電腦的以太網IP地址是192.168.0.16。
當我同時運行在樹莓派的服務器和客戶端代碼(使用的「localhost」,而不是靜態IP)連接成功,我能夠發送數據,但是當我嘗試使用筆記本電腦的溝通PI的靜態IP的服務器代碼,並在筆記本電腦上的客戶端代碼相同的靜態IP地址,服務器監聽,但從來沒有收到從筆記本電腦上的筆記本電腦timesout,出現以下錯誤的連接,客戶端代碼:
[錯誤10060]連接嘗試失敗,因爲連接的方沒有正確一段時間後,因爲連接主機未能響應響應或已建立的連接失敗
這是我嘗試創建的第一個客戶端/服務器,因此我的知識非常有限,任何幫助都將不勝感激。下面貼出了當前表單中的代碼,謝謝。
客戶端代碼:
import socket
TCP_IP = '192.168.0.17'
TCP_PORT = 5005
BUFFER_SIZE = 20
MESSAGE = "Hello, World!"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
for i in range(0,1000):
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()
print 'received data:'
Server代碼:
import socket
from thread import *
IP = "192.168.0.17"
print IP
PORT = input("Enter the PORT number (1 - 10,000)") #input same port number as client (5005)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
print "Socket created"
s.bind((IP, PORT))
s.listen(10)
print "sock now listening"
while True:
connection, addr = s.accept()
print "conn established"
connection.send("Welcome to the server.")
while True:
data = connection.recv(1024)
if not data:
break
connection.sendall(data)
print data
connection.close()
s.close()
不建議發表你的IP地址 –