我开始学习如何使用tcp套接字在C中配置unix服务器/客户端基础应用程序,现在的问题是,我总是简单地使用我在服务器中选择的端口从客户端连接到服务器,并且一个(本地?)地址,例如 192.168.1.X。老实说,我对此一无所知,我认为 192 是本地接口(interface)地址,因此只能在同一网络中实现连接,我也尝试过两台电脑,但仍在同一网络中。来自另一个网络的连接怎么样?这是一件复杂的事情吗?我想仅仅将我的网络提供商 IP 传递给客户端并不能完成这项工作
最佳答案
通常在这种情况下,您在浏览器中打开路由器配置网页,并在“端口转发/触发”部分中输入将连接从 LAN 外部重定向到 LAN 上给定计算机上的某个端口的条目,例如:
# Service Name Start Port End Port Server IP Address
1 myServerOnPort9875 9875 9875 192.168.1.7
鉴于您的外部 IP 是 89.75.140.30,您现在可以从任何地方进行连接
telnet 89.75.140.30 9875
到达本地计算机 192.168.1.7 上的端口 9875,假设服务器正在监听 0.0.0.0(IPv4)和 0::0(IPv6)。
关于c - Unix 套接字 C : Connecting from another network,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24351954/