我目前正在研究客户端/服务器程序。当我使用在同一台机器上运行的客户端和服务器代码时,我可以使用connect()
函数(通过“localhost”)轻松地将客户端连接到服务器。
但是,我想要完成的下一步是连接到外部设备。除此之外,我想直接连接到它的IP地址。有谁知道如何在connect()
功能中集成设备的IP地址?
答案 0 :(得分:1)
您应该能够填写连接函数中的IP地址,就像填写" localhost"一样。而不是给它起名字,你可以直接输入IP(据我所知)。
名称Localhost实际上也是一个IP:127.0.0.1,如果你不知道,你的网络会为你改变这个,所以你不必记住数字。
至于实际连接:请确保在其所在网络的调制解调器上打开您用于服务器的端口。否则您的客户端无法连接到它。< / p>
我希望这是你需要知道的。
答案 1 :(得分:1)
远程主机的IP地址及其端口等信息捆绑在一个结构中(例如struct sockaddr_in serv_addr;
),并调用函数connect(),尝试将此套接字与套接字连接(IP远程主机的地址和端口。
所以你可以为你提供远程主机IP
//Name the socket as agreed with server.
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr("10.10.1.34"); //you can give your server IP here
serv_addr.sin_port = htons(PORT); //your port here
或者您可以按如下方式绑定到任何PORT
/* bind any port number */
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port = htons(0);