【发布时间】:2018-11-27 23:13:43
【问题描述】:
所以我想弄清楚如何在两个 Pi 零 W 单元之间发送字符串数据。我希望其中一位与我同在,其中一位与我的一位朋友在她家中。我真的很困惑这将如何工作。我发现了一些似乎对我家的两个单位都有效的代码,但是在将 IP 地址更改为我朋友的公共 IP 并尝试在她家使用它之后,没有任何反应。我对使用互联网协议还很陌生,因此我们将不胜感激。
Send.py
import sys
from socket import socket, AF_INET, SOCK_DGRAM
SERVER_IP = ''
PORT_NUMBER = 5000
SIZE = 1024
print ("Test client sending packets to IP {0}, via port
{1}\n".format(SERVER_IP,
PORT_NUMBER))
mySocket = socket( AF_INET, SOCK_DGRAM )
while True:
myMessage = input()
mySocket.sendto(myMessage.encode('utf-8'),(SERVER_IP,PORT_NUMBER))
sys.exit()
Receive.py
#!/usr/bin/env python3
from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
import sys
PORT_NUMBER = 5000
SIZE = 128
hostName = gethostbyname( '0.0.0.0' )
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind( (hostName, PORT_NUMBER) )
print ("Test server listening on port {0}\n".format(PORT_NUMBER))
while True:
(data,addr) = mySocket.recvfrom(SIZE)
print(data.decode('utf-8'))
sys.exit()
【问题讨论】:
-
你在你/你朋友的路由器上做过端口转发吗?
-
在尝试弄乱 UDP 之前,您可能应该彻底了解 TCP。这要复杂得多。
-
@FamousJameous 我确实在我的但不是她的上设置了端口转发。
-
您的问题涉及 TCP,但您的代码请求 UDP 套接字。
-
@DavidSchwartz 就像我说的我对这些东西很陌生,我真的不知道我可以去哪里研究它
标签: python tcp wireless data-transfer