我有一个带有公共IP地址的服务器和一个运行在C#语言中的NAT后面的客户端机器。我尝试编写TCP打洞程序,但是在从服务器到客户端建立套接字时出现了错误。我的步骤如下:
1)首先,我与公共服务器建立套接字连接,并向其发送消息,并开始在端口17000上监听。
2)第二步,服务器收到消息并解析它。
3)第三步,在服务器端获取远程终结点IPAddress和端口号(=Nat路由器IPAddress和Port)。
4)第四步,尝试连接到套接字(NAT Ip,Nat Port),并从服务器向端口17000的客户端发送消息=>表示我已经将套接字连接到NAT路由器,并希望路由器将我的消息发送到NAT后面的客户端。
但是我遇到了以下错误: “由于所连接的方在一段时间后没有正确答复或连接的主机未能响应 X.X.X.X:24352,连接尝试失败。”
请问有人可以帮我解决这个问题吗?
提前致谢。
1)首先,我与公共服务器建立套接字连接,并向其发送消息,并开始在端口17000上监听。
2)第二步,服务器收到消息并解析它。
3)第三步,在服务器端获取远程终结点IPAddress和端口号(=Nat路由器IPAddress和Port)。
4)第四步,尝试连接到套接字(NAT Ip,Nat Port),并从服务器向端口17000的客户端发送消息=>表示我已经将套接字连接到NAT路由器,并希望路由器将我的消息发送到NAT后面的客户端。
但是我遇到了以下错误: “由于所连接的方在一段时间后没有正确答复或连接的主机未能响应 X.X.X.X:24352,连接尝试失败。”
请问有人可以帮我解决这个问题吗?
提前致谢。