我正在用c++和winsock制作一个局域网多人游戏,如果我已经创建了自己的协议,将两台机器连在一起。该协议包括在本地LAN上广播一条消息,奇怪的是,本地LAN并没有在我用来测试代码的两台机器中的一台工作。奇怪的是,它是在一台机器上工作,而不是在另一台机器上工作。我使用wireshark来监视传出的数据包,即使sendto()返回正确的字节数,也不会在故障机器上发送数据包。机器之间唯一的区别是,一台(失败的一台)是使用win10,而另一台是win8。
windows 10和windows 8之间的winsock库/网络层中是否存在可能导致这种情况的差异?否则,你还有什么其他的想法可以导致失败吗
我有这样的代码,一直给我两个问题。
第一
请求的地址在其上下文中无效
第二,它接收它发送的广播,我不想这样。我只希望侦听服务器应用程序接收广播。
发送代码
Dim sendMessage As New structMessage
sendMessage.Command = Command.IP
Dim byteData As Byte() = sendMessage.ToByte()
'Using UDP sockets
epServer = New IPEndPoint(IPAddress.Any, iCurrUDP