社区
嵌入开发(WinCE)
帖子详情
wince下使用raw socket的问题
jiuzhoulh
2009-12-16 11:34:51
哪位大大做过wince5.0下面的原始套接字编程,能不能给我发一个啊。
在vc下面的移到evc4.0下面编译总是出问题啊!
最近需要在wince5.0下面做一个接收网络中所有到达161端口上的数据,原来vc6.0下面能实现,但是移到evc4.0下编译总是有问题!
...全文
186
3
打赏
收藏
wince下使用raw socket的问题
哪位大大做过wince5.0下面的原始套接字编程,能不能给我发一个啊。 在vc下面的移到evc4.0下面编译总是出问题啊! 最近需要在wince5.0下面做一个接收网络中所有到达161端口上的数据,原来vc6.0下面能实现,但是移到evc4.0下编译总是有问题!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
91program
2009-12-16
打赏
举报
回复
把问题贴出来,一起分析
想要现成的,难!
molabo
2009-12-16
打赏
举报
回复
建议到水利出版社下载源码,说得很详细,查找关键字EVC可以找到的
jiuzhoulh
2009-12-16
打赏
举报
回复
源代码是这样的:
#define WSA_FLAG_OVERLAPPED 0x01
#define _WSAIOW(x,y) (IOC_IN|(x)|(y))
#define IOC_VENDOR 0x18000000
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD( 2, 2 );
if ( WSAStartup( wVersionRequested, &wsaData ) != 0 )
{
return FALSE;
}
SOCKET sock ;
//sock = WSASocket(AF_INET, SOCK_RAW, IPPROTO_IP, NULL, 0, WSA_FLAG_OVERLAPPED);
sock = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
if( INVALID_SOCKET == sock )
{
AfxMessageBox(L"socket() failed!");
closesocket( sock ) ;
return FALSE;
}
AfxMessageBox(L"socket() success!");
int rcvtimeo = 5000 ; // 5 sec instead of 45 as default
if( setsockopt( sock , SOL_SOCKET , SO_RCVTIMEO , (const char *)&rcvtimeo , sizeof(rcvtimeo) ) == SOCKET_ERROR)
{
closesocket( sock ) ;
return FALSE ;
}
SOCKADDR_IN sa;
DWORD HostNetOrderIP = GetHostNetOrderIP();
if( HostNetOrderIP == 0 )
return FALSE;
sa.sin_family = AF_INET;
sa.sin_port = htons(161);
sa.sin_addr.s_addr= HostNetOrderIP;
if (bind(sock, (PSOCKADDR)&sa, sizeof(sa)) == SOCKET_ERROR)
{
closesocket( sock ) ;
return FALSE;
}
DWORD dwBufferLen[10] ;
DWORD dwBufferInLen= 1 ;
DWORD dwBytesReturned = 0 ;
if( SOCKET_ERROR == WSAIoctl( sock, SIO_RCVALL , &dwBufferInLen,
sizeof(dwBufferInLen), &dwBufferLen, sizeof(dwBufferLen),
&dwBytesReturned , NULL , NULL ) )
{
closesocket( sock ) ;
return FALSE;
}
#include <afxsock.h>
//#include <winsock2.h>
包含#include <winsock2.h>头文件编译通不过
使用#include <afxsock.h>头文件编译可以通过,但是sock创建失败!
请各位大大帮我看看,谢谢了!
wince
6.0实现ICMP协议执行ping命令
本人亲测
wince
6.0系统下功能正常。C# ping命令的实现方法,首先利用原始
Socket
套接字,实现ICMP协议,然后执行ping命令。
wince
6.0执行ping命令实现ICMP协议
本人亲测
wince
6.0系统下功能正常。C# ping命令的实现方法,首先利用原始
Socket
套接字,实现ICMP协议,然后执行ping命令。
wince
下c#实现pppoe
wince
下c#实现pppoe,
wince
下c#实现pppoe,
wince
下c#实现pppoe,
wince
下ping 的例子
wince
下ping 其他ip 地址的源程序例子。 单线程,ping 的时候程序会傻下。
wince
ping 源码 c++版
wince
ping 源码 c++版
wince
下ping 其他ip 地址的源程序例子。 单线程,ping 的时候程序会傻下。
嵌入开发(WinCE)
19,518
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章