2014-03-31 115 views
0

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

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

+0

请发表您的代码绑定到任何端口。 – Robert

+0

你能告诉你本地机器的工作代码吗? –

回答

1

你应该能够填充int连接函数中的IP地址,就像填入“localhost”一样。而不是给它的名字,你可以直接输入IP(据我所知)。

名称Localhost实际上也是一个IP:127.0.0.1如果您不知道,并且您的网络会为您更改此设置,那么您不必记忆数字。

至于实际的连接:一定要打开你的服务器在它所在的网络的调制解调器上使用的端口,否则你的客户端将无法连接到它。

我希望这是你需要知道的。

+0

非常感谢您的回答!这正是我需要的。 – Adam

+0

没问题:)高兴地帮忙! – Dries

1

远程主机及其端口的IP地址等信息捆绑在一个结构中(例如struct sockaddr_in serv_addr;),并且调用函数connect()来尝试连接此套接字与套接字(IP地址和端口)的远程主机。

所以,你可以给你的远程主机IP作为folllows

//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 

或者你可以如下

/* 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); 
+0

非常感谢您的回答! – Adam