Sockets 使用unix套接字连接到远程服务器
在unix中,我想让客户端程序连接到运行在不同机器上的服务器。为此,我需要通过键盘输入服务器的ip地址,然后在客户端的connect系统调用中传递该ip地址。我试着把它当作一根弦来读,然后把它传给别人,但没用。是否有任何特定的方法来传递ip地址?假设使用IPv4,您要查找的函数是inet\u addr,它将IPv4地址的字符串表示形式转换为可以传递到各种套接字函数中的数值:Sockets 使用unix套接字连接到远程服务器,sockets,unix,Sockets,Unix,在unix中,我想让客户端程序连接到运行在不同机器上的服务器。为此,我需要通过键盘输入服务器的ip地址,然后在客户端的connect系统调用中传递该ip地址。我试着把它当作一根弦来读,然后把它传给别人,但没用。是否有任何特定的方法来传递ip地址?假设使用IPv4,您要查找的函数是inet\u addr,它将IPv4地址的字符串表示形式转换为可以传递到各种套接字函数中的数值: int get_connection(const char *ip, int port) { int sock;
int get_connection(const char *ip, int port)
{
int sock;
struct sockaddr_in sin;
bzero(&sin,sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr(ip);
sin.sin_port = htons(port);
if ((sock=socket(AF_INET,SOCK_STREAM,0))==-1) {
perror("Error creating socket");
return -1;
}
if (connect(sock,(struct sockaddr *)&sin,sizeof(sin))==-1) {
perror("Couldn't connect");
close(sock);
return -1;
}
return sock;
}
从开始,也许在你做的时候看看。想一想,请出示你的代码。确切的错误信息是什么?@teja这回答了你的问题吗?