猿问

您好,在vc++网络编程关于recvfrom函数的问题?请问该怎么解决?

recvla = recvfrom(sock,recvBuf,300,0,(SOCKADDR*)&addrFrom,&len);  if (SOCKET_ERROR == recvla)  {                AfxMessageBox("接收数据败!");   break;  } 为何我的总是接收数据失败呢,就是为何recvla=SOCKET_ERROR  ,求指出接受失败的原因, 用的UDP协议,其它加载套接字,绑定端口之类的正常

暮色呼如
浏览 239回答 2
2回答

人到中年有点甜

INADDR_ANY是表示地址吧,表示绑定本地所有的ip地址如果没有指定端口号的话(端口号设置为0),系统会自动分配一个 sendto必须要指定端口号的,因为ip:port才是网络服务的惟一标识一般客户端的话可以让系统自动分配端口,服务端得话就必须指定端口 UDP协议两边都要用指定的端口号。

慕田峪9158850

&len改成sizeof(addrFrom)
随时随地看视频慕课网APP
我要回答