Raw Socket 遇到错误 求大神指点啊

Ailn 2013-12-30 05:56:57
最近几天在研究Raw Socket 编程
小弟用vs 2008 c#实现的 socket.IOControl() 报错 提供了无效的参数,台式机用的无线网卡。
代码如下


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace rawsocket
{
class Program
{
static void Main(string[] args)
{
// const int SIO_RCVALL = unchecked((int)0x98000001);//监听所有的数据包
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);//creat a socket
socket.Blocking = false;
socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, 1);
socket.Bind(new IPEndPoint(IPAddress.Parse("192.168.1.111"),0)); //绑定套接字

//set
try
{
// socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, 1);

byte[] IN = new byte[4]{1,0,0,0};
byte[] OUT = new byte[4];
int ret_code = socket.IOControl(IOControlCode.ReceiveAll, IN, OUT);
Console.Write(Convert.ToString(ret_code)+"\r\n");
ret_code = OUT[0] + OUT[1] + OUT[2] + OUT[3];
Console.Write(Convert.ToString(ret_code)+"\r\n");


}
catch (SocketException e)
{
Console.Write(e.ToString()+"\r\n");
Console.Write(Convert.ToString(e.ErrorCode));
}


while (true)
{ }
}
}
}



运行后报错截图如下


请大神指点
...全文
198 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ailn 2014-01-02
  • 打赏
  • 举报
回复
已经快找到答案了 socket.IOControl(IOControlCode.BindToInterface,,); 貌似是这个方法正在继续努力
Ailn 2013-12-31
  • 打赏
  • 举报
回复
有线网卡下无问题

110,534

社区成员

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

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

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