急急急,如何发送数据包???(100)

  • 主题发起人 主题发起人 ToDelphi
  • 开始时间 开始时间
T

ToDelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我要把用其它截包工具得到的服务器send过来的数据包“4D 5A 00 00 01 27 A3 FB 00 15 40 62 00 01 00 00 00 09 00 09 23 64 46 46 46 46 46 46 61 00 00”在我的程序里直接用winsock的send()发送出去,该如何设置参数???数据格式如何转换?Buf该是怎样的啊?我对网络编程一无所知现在是急时抱佛脚,大家快快告诉我如何写这样函数的参数啊?谢谢!
 
int send ( SOCKET s, const char FAR * buf, int len, int flags ); Parameterss[in] A descriptor identifying a connected socket.buf[in] A buffer containing the data to be transmitted.len[in] The length of the data in buf.flags[in] Specifies the way in which the call is made.
 
白河愁 我qq 是439661788 认识认识 哈哈
 
function send(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall; s:一个用于标识已连接套接口的描述字。  buf:包含待发送数据的缓冲区。  len:缓冲区中数据的长度。  flags:调用执行方式。  注释:  send()适用于已连接的数据报或流式套接口发送数据。对于数据报类套接口,必需注意发送数据长度不应超过通讯子网的IP包最大长度。IP包最大长度在WSAStartup()调用返回的WSAData的iMaxUdpDg元素中。如果数据太长无法自动通过下层协议,则返回WSAEMSGSIZE错误,数据不会被发送。  请注意成功地完成send()调用并不意味着数据传送到达。  如果传送系统的缓冲区空间不够保存需传送的数据,除非套接口处于非阻塞I/O方式,否则send()将阻塞。对于非阻塞SOCK_STREAM类型的套接口,实际写的数据数目可能在1到所需大小之间,其值取决于本地和远端主机的缓冲区大小。可用select()调用来确定何时能够进一步发送数据。  在相关套接口的选项之上,还可通过标志位flag来影响函数的执行方式。也就是说,本函数的语义既取决于套接口的选项也取决于标志位。后者由以下一些值组成:  值 意义  MSG_DONTROUTE 指明数据不选径。一个WINDOWS套接口供应商可以忽略此标志;MSG_OOB 发送带外数据(仅适用于SO_STREAM;)。  返回值:  若无错误发生,send()返回所发送数据的总数(请注意这个数字可能小于len中所规定的大小)。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。  错误代码:  WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。  WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。  WSAEACESS:要求地址为广播地址,但相关标志未能正确设置。  WSAEINTR:通过一个WSACancelBlockingCall()来取消一个(阻塞的)调用。  WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。  WSAEFAULT:buf参数不在用户地址空间中的有效位置。  WSAENETRESET:由于WINDOWS套接口实现放弃了连接,故该连接必需被复位。  WSAENOBUFS:WINDOWS套接口实现报告一个缓冲区死锁。  WSAENOTCONN:套接口未被连接。  WSAENOTSOCK:描述字不是一个套接口。  WSAEOPNOTSUPP:已设置了MSG_OOB,但套接口非SOCK_STREAM类型。  WSAESHUTDOWN:套接口已被关闭。一个套接口以1或2的how参数调用shutdown()关闭后,无法再用sned()函数。  WSAEWOULDBLOCK:  WSAEMSGSIZE:套接口为SOCK_DGRAM类型,且数据报大于WINDOWS套接口实现所支持的最大值。  WSAEINVAL:套接口未用bind()捆绑。  WSAECONNABORTED:由于超时或其他原因引起虚电路的中断。  WSAECONNRESET:虚电路被远端复位。
 
后退
顶部