//填充IP首部
ipHeader.h_verlen=(4<<4 | sizeof(ipHeader)/sizeof(unsigned long));
ipHeader.tos=0;
ipHeader.total_len=htons(sizeof(ipHeader)+sizeof(tcpHeader));
ipHeader.ident=1;
ipHeader.frag_and_flags=0;
ipHeader.ttl=128;
ipHeader.proto=IPPROTO_TCP;
ipHeader.checksum=0;
ipHeader.sourceIP=inet_addr("本地地址");
ipHeader.destIP=inet_addr(argv[1]); 这是用C写的,ipHeader是一个IP头的数据结构,实在对C不是很熟悉
请问C里面的这段怎么改成C#,主要是htons()函数和inet_addr()不知道怎么改
ipHeader.h_verlen=(4<<4 | sizeof(ipHeader)/sizeof(unsigned long));
ipHeader.tos=0;
ipHeader.total_len=htons(sizeof(ipHeader)+sizeof(tcpHeader));
ipHeader.ident=1;
ipHeader.frag_and_flags=0;
ipHeader.ttl=128;
ipHeader.proto=IPPROTO_TCP;
ipHeader.checksum=0;
ipHeader.sourceIP=inet_addr("本地地址");
ipHeader.destIP=inet_addr(argv[1]); 这是用C写的,ipHeader是一个IP头的数据结构,实在对C不是很熟悉
请问C里面的这段怎么改成C#,主要是htons()函数和inet_addr()不知道怎么改
htons()函数是转换成网络格式 C#里面要处理吗
inet_addr("本地地址"); 应该是转换成32位的IP地址吧 但是C#里面用的是IPAddress类型
DLL,在C#中直接添加引用后调用。