C程序connect:connect:无效参数

时间:2019-05-16 03:22:32

标签: c sockets ipv6

我正在尝试编写一个程序以与IPv6客户端和服务器连接。这很简单,但是它说connect: invalid argument。我有一段时间学习了IPv6。以下代码是从IPv4客户端修改的。我错过了什么?我需要帮助!

int main(int argc, char const *argv[])
{
    int ClientSocket;
    struct sockaddr_in6 ServerAddress;

    if((ClientSocket = socket(AF_INET6, SOCK_STREAM, 0)) < 0)
        perror("socket");

    bzero(&ServerAddress, sizeof(ServerAddress));
    ServerAddress.sin6_family = AF_INET6;
    ServerAddress.sin6_port = htons(4002);

    if(inet_pton(AF_INET6, "fe80::0214:97ff:fe13:257b", &ServerAddress.sin6_addr) <= 0)
        perror("inet_pton");

    if(connect(ClientSocket, (struct sockaddr *)&ServerAddress, sizeof(ServerAddress)) < 0)
        perror("connect");

    return 0;
}

0 个答案:

没有答案