我不太确定为什么这不会工作。我的应用程序工作正常,如果客户端和服务器运行在同一台PC上,因此127.0.0.1但它不会连接到我的其他笔记本电脑使用IP 82.41.108.125这是该设备的IP。UDP无法连接到127.0.0.1以外的任何其他东西
为什么会出现这种情况?
我不太确定为什么这不会工作。我的应用程序工作正常,如果客户端和服务器运行在同一台PC上,因此127.0.0.1但它不会连接到我的其他笔记本电脑使用IP 82.41.108.125这是该设备的IP。UDP无法连接到127.0.0.1以外的任何其他东西
为什么会出现这种情况?
假设你所有的编码工作正常,你的防火墙很可能会阻塞端口 - 尝试打开你运行应用程序的端口号(在客户端/服务器comptuers的防火墙选项中)。
应阐明事一些光一些额外的信息
网络设备使用ARP(地址解析协议)和RARP(反向地址解析协议)来映射IP地址链接层(MAC)地址和背部。您的网络接口卡(插入到以太网电缆的东西)将在两台计算机上具有唯一的MAC地址。每台PC都有一个为其配置的IP,由更高级别的协议(网络层中的那些协议)使用。
如果您的程序正常工作,计算机A将知道计算机B的IP地址(它将与计算机A不同)。当计算机A发送给计算器B时,假设它们直接连接,并且不通过路由器或其他计算机之间的路由器,则计算机A的链路层将需要将该计算机B的IP转换为它可以使用的MAC地址。它通过向同一子网络上的所有网络PC发送广播来询问“嘿,这是你的IP!”吗?本质。有一个IP与广播的IP匹配是的,“是的,这是我的 - 这是我的MAC地址,所以你可以直接和我说话。”
因此,如果两台计算机具有相同的IP,则全部进入下一步:)不这样做 - 给它们唯一的IP并确保计算器A传输到计算机B正在监听的相同UDP端口和IP以及。通讯工作在{IP,Port}对中 - 就像电话号码和区号。
也...
正如所说的EJP - UDP是无连接协议 - 计算机公正发送到计算机B,希望B计算机正确监听。如果计算机B没有在监听或者处于正确的状态下处理数据,数据将被丢弃并丢失。计算机A不会知道发生了这种情况。如果你想要可靠的通信,它会继续尝试,你可以保证计算器B收到计算机A的数据,然后使用TCP代替 - 它建立连接并使用确认进行3次握手,以确保数据在没有时重新传输到达另一端。
在笔记本电脑上检查防火墙......大部分时间充当垃圾运输。
UDP不'连接'任何东西。你的意思是'发送'或'接收'。 – EJP
我编辑了我的帖子,添加了一些可以帮助你理解事物的信息。 –