我制作了一个程序,包括服务器端和客户端端,它允许我从客户端向服务器发送消息。它在本地工作。我在服务器终端上显示客户终端./client "message"
和message
。所以一切正常。好的,现在我想接受它"在线",我的意思是我想在通过virtualbox模拟的两台debian机器之间发送消息。该怎么办?我认为将IP地址调整到正确的地址非常重要。 Atm我在客户端代码中使用了127.0.0.1
这是LOCALHOST。在客户端所以我必须把服务器IP?这意味着服务器需要静态IP?
答案 0 :(得分:1)
您必须使用服务器IP,如果它不是静态的,则可以更改。您还必须考虑端口号,以及它是否在连接的任何一端打开。否则,网络将阻止流入和流出客户端的流量。静态IP最好,但您也可以考虑允许用户在命令中输入IP地址,例如
./ client "message" -ip="192.168.0.1:25534"
通过这种方式,您可以在多台计算机上使用它,如果需要,您可以通过让它们输入来满足IP的变化。
答案 1 :(得分:1)
客户更改:
可配置的服务器IP和端口。您可以通过命令行参数,环境变量或配置文件来执行此操作。如果目标操作系统是MS Windows,您也可以选择通过注册表设置来执行此操作。
服务器更改:
当您bind
服务器套接字到地址时,您需要指定固定IP或INADDR_ANY
。如果绑定到127.0.0.1
,则服务器将仅接受来自同一台计算机的连接。 INADDR_ANY
将套接字绑定到服务器的所有IP地址(可能不止一个)。
您还应该使端口号可配置。