【发布时间】:2015-03-25 15:37:40
【问题描述】:
我正在尝试与实现基本 UDP 协议的 FPGA 板通信。我使用的是 Windows 7 PC,python 2.7.6 32 位。
我的电脑已连接到 LAN 网络。自动接收此 IP(来自 ipconfig):IP 192.168.2.1,子网掩码:255.255.255.0
我的开发板通过开关连接到我的计算机。板子的 IP 是固定的(在硬件代码中) - 192.168.4.10。
如果我理解正确的话——我的电脑和主板位于不同的子网上,因为 4 个正确的 ip 子编号中有 2 个不同。
当我发送 UDP 数据包时 - 卡没有收到它。当我手动强制我的计算机使用相同的 ip (192.168.2.1) 但子网掩码为 255.255.0.0 时,它确实收到了。
我用来发送的python代码是这样的:
import socket
UDP_IP = "192.168.4.10"
RECEIVE_PORT = 5005
SEND_PORT = 5005
MESSAGE = "Hello, World!"
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock .bind(('', SEND_PORT))
sock.sendto(MESSAGE, (UDP_IP, RECEIVE_PORT))
可能是什么原因? 有什么办法可以在代码中解决这个问题吗? 有什么办法可以在代码中更改我的子网掩码? 我应该阅读什么来理解我的问题?
【问题讨论】:
标签: network-programming udp ip ip-address subnet