直接TCP \ IP连接需要什么?

时间:2017-10-05 08:44:50

标签: network-programming

我想编写一个应用程序,它通过互联网建立两个设备之间的直接TCP \ IP连接。 我有一台服务器来交换IP地址和端口,但它是否足以建立连接?

如何处理两个设备都位于一个IP(连接到同一个Wi-Fi热点)的情况?

另外,我不明白如果没有热点上的端口转发设置,设备上的开放端口是如何可以访问的?是否有任何端口可供应用程序使用?

1 个答案:

答案 0 :(得分:1)

在大多数情况下,您对端口转发是正确的。

TCP / IP是OSI Layer 4协议。您需要能够使用已知的IP地址和端口号将数据发送到服务器应用程序。现在,当在互联网上时,这可能会变得更加复杂,因为您通常不会直接与互联网其他部分到达的IP地址进行交互。这是您的公共IP地址。您从ISP获得的调制解调器可能会实现NAT ,将您的私人地址转换为您的公共地址。您调制解调器将阻止所有TCP SYN请求,除非有专门针对它的转发规则。

这只是典型的情况,您还可以考虑将调制解调器设置为DMZ模式,甚至实现您自己的反向代理,如nginx。