协议不支持地址族?发送至

use*_*703 2 c networking udp

我的程序遇到了一个奇怪的问题.

我一直在使用UDP来传输文件,使用标准的sendto和recvfrom.

我让服务器和客户端在程序期间来回多次来回通信.

我刚刚在服务器的代码中添加了一个新的sendto调用,它在执行时给了我这个错误.

Address family not supported by protocol. 这来自我的sendto功能.

这是它正在执行的代码:

if ((numbytes = sendto(sockfd,sDropped,strlen(sDropped), 0,
         (struct sockaddr *)&their_addr, p->ai_addrlen)) == -1) {
    perror("talker: sendto");
    exit(1);
    }
Run Code Online (Sandbox Code Playgroud)

正如我所说的,这个代码在程序的早期大约有4次工作,所以我确信我已经把所有东西都搞定了.

是否有人熟悉这个问题,并且可以给我一些关于在我的程序中检查可能会产生这个问题的一些见解?

谢谢.

Isk*_*ren 9

看看他们是否设置了his_addr.sin_family,只是浪费了几个小时与同一个消息争夺这个错误.