抱歉标题太模糊,我发现很难用几句话准确地描述这个问题(但这可能是因为我的原因,英语不是我的母语)。
我正在尝试通过 TCP 将文件从一台计算机发送到另一台计算机。我的服务器/接收器直接连接到互联网(至少,我是这样认为的,我租了这个房间,互联网已包含在内,我不知道如何设置,对我来说它真的是即插即用的),另一个连接到 WLAN(来自我的一个室友的无线路由器,所以我的室友也可以访问这个网络)。IP 地址的前三个字节是相同的(我通过 whatsmyip.com 检查过)。
我以阻塞方式发送和接收(因此非异步)。当我尝试发送一条短消息时,发送方/客户端会因超时错误而崩溃。然后我尝试 ping 另一个 IP 地址,但这个也超时了!更令人惊讶的是(至少对我来说)反向 ping 工作正常(因此从直接连接到互联网的机器到连接到 WLAN 的机器)。如果有的话,我希望它反过来(因为我知道连接到防火墙/路由器后面的任何东西都可能有点麻烦)。
因此:从 WLAN -> 直接连接的机器(这个的正确术语是什么?) ping 超时,但直接连接的机器 -> WLAN 上的机器工作正常。
您可能已经理解(通过分析我对术语的使用),我对网络确实一无所知。两年前,我参加了一门课程(我是计算机科学专业的学生)(一半是关于计算机架构,一半是关于网络)。我一直使用现有网络(我住在家里时,我爸爸曾经处理过这个问题,现在我招聘的组织也由他处理)。有人能向我解释一下发生了什么,并可能帮助我吗?(我没有提供发送和接收程序的源代码,因为我认为一旦我了解了发生了什么,我就可以自己修复它)。
在此先向花时间帮助我的所有人致以问候和感谢!:)
答案1
我想重写这个问题,在重写的过程中我想到了一个可能的答案。一些研究表明,这可能是正确答案。
IP 地址不是计算机的,而是路由器的。当我从 WLAN 上的计算机 ping 时,您从路由器的 IP 地址 ping,ping 返回的内容被发送到路由器,但不会传输到您的计算机(因为另一台计算机的响应无法到达路由器后面的计算机)。
当您从直接连接的计算机 ping 时,您收到的响应实际上来自路由器,而不是来自另一台计算机。即使另一台计算机已关闭,它也会响应。