1

是否可以将数据从 127.0.0.1:7000 发送到 127.0.0.1:8000 ?我收到套接字错误 10049,这是无效的地址。

sockaddr_in sin;
memset((char*)&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr = 16777343; //127.0.0.1
sin.sin_port = 16415;//8000
int _ret = ::sendto(sock, Buff, Len, 0, (sockaddr*)&sin, sizeof(sin));
4

2 回答 2

1
sin.sin_addr = 16777343; //127.0.0.1

我想你可能想检查一下。

这里 127×255×255×255 + 1 是 2105834626。

使用正确的函数来执行 IP 地址解码,不要自己做:有太多的边缘情况(例如签名/未签名)会被抓住。

于 2015-03-09T09:50:54.707 回答
0

sin.sin_port = 16415;//8000

这是错误的,sin_port 必须是网络格式正确的代码应该是:

sin.sin_port = htons(16415);//8000

于 2020-06-21T06:07:14.010 回答