Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;WSAEFAULT发送整数时出错_C++_Sockets_Winsock - Fatal编程技术网

C++ C++;WSAEFAULT发送整数时出错

C++ C++;WSAEFAULT发送整数时出错,c++,sockets,winsock,C++,Sockets,Winsock,我试图通过互联网发送一个整数。这个问题与bid-endian无关,因为当我使用127.0.0.1将整数发送给自己时,问题也会出现。代码如下: int res = send(Socket, (char*)refresh, sizeof(refresh), 0); 刷新通常为100。res为-1,调用WsaGetLastError返回10014,WSAEFAULT。 据我所知,这意味着我指定的大小与缓冲区的大小不同。刷新的大小如何与sizeof(刷新)不同? 另一方面: int dim = rec

我试图通过互联网发送一个整数。这个问题与bid-endian无关,因为当我使用127.0.0.1将整数发送给自己时,问题也会出现。代码如下:

int res = send(Socket, (char*)refresh, sizeof(refresh), 0);
刷新通常为100。res为-1,调用WsaGetLastError返回10014,WSAEFAULT。 据我所知,这意味着我指定的大小与缓冲区的大小不同。刷新的大小如何与sizeof(刷新)不同? 另一方面:

int dim = recv(Socket, (char*)&refresh, sizeof (refresh), MSG_WAITALL);
dim是4,wich是对的,但如果我选中refresh,它仍然是0。
有线索吗?提前谢谢

WSAEFAULT
表示一起工作的
buf
len
参数值的组合不代表调用进程地址空间内的有效内存块

(char*)refresh
传递被解释为内存地址的整数的值,这是错误的


(char*)&refresh
传递整数的地址,这是正确的操作。

谢谢,对不起,我是一个noob。我会尽快给正确答案打分。