Raspberry Pi TCP 套接字 - [Errno 99] 无法分配请求的地址
Raspberry Pi TCP socket - [Errno 99] Cannot assign requested address
我有一个 raspberry pi 3 设置为接入点或热点 (raspberrypi.org/documentation/configuration/wireless/access-point.md)。我从 windows 10 pc 连接到此,IP 地址为 192.168.0.10
。我能够发送和接收 udp 数据包,也可以 ping 到提到的 ip 地址。但是如果我尝试 tcp 数据包(来自另一个 python 脚本,来自另一个端口),我总是得到 errno 99
。以下简单脚本适用于我的电脑(使用本地 ip),但不适用于我的树莓派:
import socket
snap1 = bytes([0x00, 0x00, 0x56, 0x45, 0x74, 0x44, 0x76 ]) # some data to send
sockT = socket.socket()
sockT.bind(("192.168.0.10", 5008)) #((tcpIpSend, tcpPortSend))
sockT.listen(5)
#sockT.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sockTconn, addr = sockT.accept()
print('Connection estabilished! ', addr)
while True:
time.sleep(0.1)
sockTconn.send(snap1) # TCP
conn.close()
如果你有任何线索,请告诉我,谢谢!
如果 192.168.0.10
在您的 PC 上运行,它必须是您 PC 的本地地址,因此 它不可能是您的 Raspberry 的本地 IP 地址,ergo 你的 Rasperry 无法绑定它。
使用0.0.0.0
.
我有一个 raspberry pi 3 设置为接入点或热点 (raspberrypi.org/documentation/configuration/wireless/access-point.md)。我从 windows 10 pc 连接到此,IP 地址为 192.168.0.10
。我能够发送和接收 udp 数据包,也可以 ping 到提到的 ip 地址。但是如果我尝试 tcp 数据包(来自另一个 python 脚本,来自另一个端口),我总是得到 errno 99
。以下简单脚本适用于我的电脑(使用本地 ip),但不适用于我的树莓派:
import socket
snap1 = bytes([0x00, 0x00, 0x56, 0x45, 0x74, 0x44, 0x76 ]) # some data to send
sockT = socket.socket()
sockT.bind(("192.168.0.10", 5008)) #((tcpIpSend, tcpPortSend))
sockT.listen(5)
#sockT.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sockTconn, addr = sockT.accept()
print('Connection estabilished! ', addr)
while True:
time.sleep(0.1)
sockTconn.send(snap1) # TCP
conn.close()
如果你有任何线索,请告诉我,谢谢!
如果 192.168.0.10
在您的 PC 上运行,它必须是您 PC 的本地地址,因此 它不可能是您的 Raspberry 的本地 IP 地址,ergo 你的 Rasperry 无法绑定它。
使用0.0.0.0
.