c - 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;
}
解决方案
推荐阅读
- swap - 如何使用 cloud-init 配置交换分区?
- node.js - 如何将 React 应用程序和 Nodejs 后端部署在子域的同一目录中?
- anylogic - 内部 AnyLogic 错误/异常的调试原因
- python - 从列变量编写 CSV 表?
- amazon-web-services - 如何为我的 EKS 服务分配静态 IP?
- r - 如何让 R 将 diff(x) 格式化为行?
- service-worker - 如何调试/记录生产服务工作者安装的错误
- php - 来自 URL 的 file_get_contents 仅适用于本地服务器
- python - Python 中的 Perl pack('H*', $value)
- python - XYZ/RGB 中的颜色校正矩阵不起作用