最近写一些在网络上捕获数据包的程序,用到了rawsocket,其中要用到setsocketoption()
原型为:setsocketoption(socketoptionlevel.ip,socketoptionname.headerincluded, 1); 【相关文章:VB打造超酷个性化菜单(二)】 【扩展阅读:VB打造超酷个性化菜单(一)】第三个参数为什么要是 1 呢?原因是默认的值是 0 ,1表示打开这个选项。 【扩展信息:蛙蛙推荐:asp中的多条件组合查询实现】 那么还有多少这样的选项呢?答案是:很多,有200项左右。 于是有了下面的代码,它可以看一看你使用socket时每个option的默认值。知道了这些,你就 可以有的放矢的setsocketoption()了。code:
---------------------------------------------------------------------------
namespace sky.socketoptions
{ using system; using system.net.sockets; public class socketoptions { public static void main(string[] args) { int count = 0; //使用那种构造函数并不重要,何值也不重要,无非是clr分配一些相关的结构 //结构是重要的 socket socket = new socket(addressfamily.internetwork, sockettype.raw, protocoltype.ip); type sol = typeof(socketoptionlevel); type son = typeof(socketoptionname); console.writeline("\tnum\tlevel\tname\t\tdefaultoption"); console.writeline("----------------------------------------------------------------"); ... 下一页