求自定义发送数据报时,IP校验和的计算代码(200分)

  • 主题发起人 主题发起人 AI_Player
  • 开始时间 开始时间
A

AI_Player

Unregistered / Unconfirmed
GUEST, unregistred user!
曾看过C的代码,但由于本人C学得太Y,谁能给个delphi的代码,谢了!
 
谁讲讲如何发送自定义的数据包也可以
 
用DELPHI来计算IP CHECKSUM
function checksum(buffer:Pword;size:integer):word; //校验和函数
var
cksum:Longword;
buf:Pword;
begin
cksum:=0;
buf:=buffer;

while size>1 do
begin
cksum:=cksum+buf^;
inc(buf);
dec(size,sizeof(word));
end;

if size=1 then
inc(cksum,Pbyte(buf)^);

cksum:=(cksum shr 16)+(cksum and $FFFF);
cksum:=(cksum shr 16)+cksum;
result:=word(not cksum);

end;
 
那定义IP头呢?
还有setsockopt的参数怎么填?
 
这个都不难,找个C的程序修改就OK了,我用过DELPHI做过ICMP ,UDP,TCP的,都没有
问题,说明只要是C能做的,DELPHI都能做,
 
关键是对C不了解,不清楚C的数据类型在delphi里应该换成什么
 
DELPHI5开发人员指南上有详细的资料,
 
to 张无忌:能不能问问你的QQ是多少?
 
接受答案了.
 
后退
顶部