socket.IOControl 在无线网卡 编程时出现 异常

potency 2011-04-14 12:17:45
以下代码 在无线网卡 编程时出现 异常,有线时当然没有问题了。
socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, True)
byte []IN = new byte[4]{1, 0, 0, 0};
byte []OUT = new byte[4];
int ret_code = socket.IOControl(SIO_RCVALL, IN, OUT);

第四行,说提供了一个无效的参数

将in 第一个改为 0,通过,无异常,但程序失效,请问 in ,out 参数各个字节的 说明是什么的?如何解决在无线网卡 下这个问题的?
...全文
483 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp420 2013-04-07
  • 打赏
  • 举报
回复
可以的,我试过了
sxduyao 2011-05-26
  • 打赏
  • 举报
回复
同样的问题
anbam 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lizhibin11 的回复:]
Socket.IOControl(IOControlCode.KeepAliveValues, inValue, null);
第一个参数,表示类型为心跳包
第二个参数byte[] inValue = new byte[] { 1, 0, 0, 0, 0x88, 0x13, 0, 0, 0x88, 0x13, 0, 0 }; 数组分为三部分,前四个字节表示开启或关闭,1表示开启,中间四个字节表……
[/Quote]
就这样
lizhibin11 2011-04-14
  • 打赏
  • 举报
回复
Socket.IOControl(IOControlCode.KeepAliveValues, inValue, null);
第一个参数,表示类型为心跳包
第二个参数byte[] inValue = new byte[] { 1, 0, 0, 0, 0x88, 0x13, 0, 0, 0x88, 0x13, 0, 0 }; 数组分为三部分,前四个字节表示开启或关闭,1表示开启,中间四个字节表示多少毫秒之后开始发第一个心跳包,后四个字节表示每隔多少毫秒发一次心跳包。
第三个参数表示返回的数据,在设置心跳包时,用null就可以。
详情参照http://msdn.microsoft.com/en-us/library/ms741621(v=vs.85).aspx
potency 2011-04-14
  • 打赏
  • 举报
回复
捕获数据包时,只能捕获收到的,发出去的捕获不到。咋整哦。
potency 2011-04-14
  • 打赏
  • 举报
回复
我用的是VB.net语言。
potency 2011-04-14
  • 打赏
  • 举报
回复
还是同样行, 显示 提供了无效的参数。

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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