使用connect()函数连接到IP地址 - 套接字编程

时间:2014-03-31 10:10:11

标签: c linux ssh

我目前正在研究客户端/服务器程序。当我使用在同一台机器上运行的客户端和服务器代码时,我可以使用connect()函数(通过“localhost”)轻松地将客户端连接到服务器。

但是,我想要完成的下一步是连接到外部设备。除此之外,我想直接连接到它的IP地址。有谁知道如何在connect()功能中集成设备的IP地址?

2 个答案:

答案 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);