WSAEFAULT 10014 Bad address.

WSAEFAULT 10014 Bad address.

WSAEFAULT (10014)

  • 翻译: 不正确的地址。
  • 说明: 尝试使用指针参数的调用时,系统检测到无效的指针地址。如果某个程序通过一个无效的指针值,或如果缓冲区的长度太小,会发生此错误。例如对于如果小于 sizeof(SOCKADDR) 值的参数是一个 SOCKADDR 结构的长度,则将发生此问题。
做一个很简单的C/S程序,C端send的时候提示这个错误,网上没搜到合适答案,原来是send的时候有问题见下面代码
int  value;
value 
=   1 ;
send(s,(
char * )value, sizeof ( int )); // 这句报10014错误
应该修改成如下:
int   * pvalue  =   new   int ;
pvalue 
=   & value;
send(s,(
char * )pvalue, sizeof ( int ));
// 不能直接发送定义的变量,必须发送申请内存空间内的数据,不知道为什么哦。

你可能感兴趣的:(WSAEFAULT 10014 Bad address.)