小编Mal*_*a88的帖子

C 中 IPv6 连接的问题

我正在尝试编写一个不可知的回声服务器,它可以接受 IPv4 和 IPv6 连接。我正在使用使用 getaddrinfo 设置的 addrinfo 结构。
ipv4 连接没有问题,而我无法获得有效的 ipV6 连接。我认为我的问题可能是由于错误的 getaddrinfo 参数造成的,但我看不出哪里出错了。
这是我的代码

client.c

#include <stdio.h>      
#include <sys/types.h>
#include <sys/socket.h>   
#include <netdb.h>
#include <stdlib.h>
#include <string.h> 
#include <errno.h>

int main(int argc, char *argv[])
{
      int simpleSocket = 0, simplePort = 0,returnStatus = 0, n; 
      char buffer[1024] = "";
      struct hostent *hostinfo;
      struct addrinfo simpleServer, *res;

      if (3 != argc) {
          fprintf(stderr, "Usage: %s <server> <port>\n", argv[0]);
          exit(1);
      }

      simplePort = atoi(argv[2]);    

      memset(&simpleServer, 0, sizeof simpleServer);
      simpleServer.ai_family = …
Run Code Online (Sandbox Code Playgroud)

c sockets ipv6 berkeley-sockets

5
推荐指数
1
解决办法
3289
查看次数

标签 统计

berkeley-sockets ×1

c ×1

ipv6 ×1

sockets ×1