在SmartPhone 2003上使用recvfrom函数,参数MSG_PEEK为什么返回WSAEOPNOTSUPP?

Phourm 2006-05-08 11:06:05
UDP为什么使用MSG_PEEK参数就出错,而用0做Flag就正常!
MSDN上没有说CE不支持MSG_PEEK啊!
有哪位知道怎么回事有?
下面是代码

#include <stdio.h>
#include "winsock2.h"


int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData;
SOCKET RecvSocket;
sockaddr_in RecvAddr;
int Port = 27015;
char RecvBuf[1024];
int BufLen = 1024;
sockaddr_in SenderAddr;
int SenderAddrSize = sizeof(SenderAddr);

//-----------------------------------------------
// Initialize Winsock
WSAStartup(MAKEWORD(2,2), &wsaData);

//-----------------------------------------------
// Create a receiver socket to receive datagrams
RecvSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

//-----------------------------------------------
// Bind the socket to any address and the specified port.
RecvAddr.sin_family = AF_INET;
RecvAddr.sin_port = htons(Port);
RecvAddr.sin_addr.s_addr = htonl(INADDR_ANY);

bind(RecvSocket, (SOCKADDR *) &RecvAddr, sizeof(RecvAddr));

//-----------------------------------------------
// Call the recvfrom function to receive datagrams
// on the bound socket.
printf("Receiving datagrams...\n");
int nreceived = recvfrom(RecvSocket,
RecvBuf,
1,
MSG_PEEK,
(SOCKADDR *)&SenderAddr,
&SenderAddrSize);
/*就是这里总是返回-1*/
if (nreceived == -1)
::WSAGetLastError();//错误码10045

//-----------------------------------------------
// Close the socket when finished receiving datagrams
printf("Finished receiving. Closing socket.\n");
closesocket(RecvSocket);

//-----------------------------------------------
// Clean up and exit.
printf("Exiting.\n");
WSACleanup();

return 0;
}
...全文
266 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
金笛子 2007-03-20
  • 打赏
  • 举报
回复
::WSAGetLastError();//错误码10045的意思是说
参考的对象类型不支持尝试的操作。

那也有可能是不支持吧(不肯定)


不过,楼主 是否启动了acivesync 没?

拿节 2007-02-10
  • 打赏
  • 举报
回复
顶下吧!
半天过去了!
Phourm 2006-05-09
  • 打赏
  • 举报
回复
没人知道吗?

7,659

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧