【发布时间】:2011-02-01 01:08:52
【问题描述】:
如果我需要像这样创建一个数据包:
field 1: SOCKS protocol version, 1 byte
field 2: status, 1 byte:
field 3: reserved, must be 0x00
field 4: address type, 1 byte:
field 5: destination address of
1 byte of name length followed by the name for Domain name
field 6: network byte order port number, 2 bytes
char packet[6];
packet[0] = 5;
packet[1] = 0;
packet[2] = 0;
packet[3] = 1;
packet[4] = /* ... ???? ... */;
packet[5] = 80;`
如何为www.google.com 编写packet[4](字段5)?提前致谢。
【问题讨论】:
-
您是否有理由不使用套接字库函数为您执行此操作?手动写数据包很难,但如果你必须手动写,那你就必须手动写。
-
抱歉,哪些函数会自动执行此操作?
-
我创建了一个类似于 .NET 框架的BinaryWriter 的类。可以把它想象成一个字符串流,除了它会自动将所有内容分解成一系列字节。