Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 使用unix套接字连接到远程服务器_Sockets_Unix - Fatal编程技术网

Sockets 使用unix套接字连接到远程服务器

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;

在unix中,我想让客户端程序连接到运行在不同机器上的服务器。为此,我需要通过键盘输入服务器的ip地址,然后在客户端的connect系统调用中传递该ip地址。我试着把它当作一根弦来读,然后把它传给别人,但没用。是否有任何特定的方法来传递ip地址?

假设使用IPv4,您要查找的函数是inet\u addr,它将IPv4地址的字符串表示形式转换为可以传递到各种套接字函数中的数值:

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这回答了你的问题吗?