套接字可以本地连接,但不能远程连接,即使它正在连接

本文关键字:连接 远程连接 本地连接 但不能 套接字 | 更新日期: 2023-09-27 18:04:35

2天前它是工作的,但它只是停止工作,看看

服务器:

 IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 50000);
        Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            listener.Bind(endpoint);
            listener.Listen(100);

客户端:(192.168.0.2工作,因为它是本地的,但当我尝试用我的ip从"www.whatismyip.com"我无法连接)

 IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("192.168.0.2"), 50000);
        cliente = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        cliente.Connect(ipEndPoint);

我的防火墙被禁用了,我在50000处做了端口转发

套接字可以本地连接,但不能远程连接,即使它正在连接

好消息和坏消息。好消息是,这可能不是你的问题。坏消息是,除了改变你正在努力做的事情,你可能无能为力。很有可能你的连接请求在两个地方之一被丢弃——要么是你的调制解调器(DSL,电缆等),要么是你的ISP。当您获得外部IP地址,然后尝试连接回它时,调制解调器会感到困惑,因为它似乎试图向自己发送一些东西,但不是通过环回接口发送,因此丢弃TCP SYN数据包。或者,你的ISP把你置于某种NAT之后,你认为是你的外部IP地址与你的ISP的路由器认为是你的(区域)地址不匹配。这也令人困惑,数据包要么被丢弃,要么被转发到您地址的全局版本。也许能实现,也许不能。无论哪种方式,连接都将在以太中丢失。

你说两天前你的朋友用了同样的代码。