首页 > 解决方案 > C程序连接:连接:无效参数

问题描述

我正在尝试编写一个程序来连接 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;
}

标签: csocketsipv6

解决方案


推荐阅读