全
全文检索
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button4Click(Sender: TObject);<br>var<br> MySocket:integer;<br> sockaddr:sockaddr_in;<br> pchar;<br>begin<br> MySocket:=Socket(AF_INET,SOCK_RAW,IPPROTO_ICMP);<br> if MySocket=SOCKET_ERROR then<br> begin<br> memo1.Lines.Add('套接字创建失败') ;<br> exit;<br> end; <br> memo1.Lines.Add('套接字创建成功') ;<br> sockaddr.sin_family:=AF_INET;<br> sockaddr.sin_port:=0;<br> sockaddr.sin_addr.S_addr:=inet_addr(pchar('59.36.23.22'));<br><br> p:='test';<br> if sendto(Mysocket,p,strlen(p),0,sockaddr,sizeof(sockaddr))=SOCKET_ERROR then<br> begin<br> memo1.Lines.Add('icmp发送失败') ;<br> CloseSocket(MySocket);<br> exit;<br> end;<br> memo1.Lines.Add('icmp发送成功') ;<br> CloseSocket(MySocket);<br>end;<br><br><br>运行后提示 <br>套接字创建成功'<br>'icmp发送成功'<br><br>但是听包工具没有显示有数据包送出和返回<br><br>我不想调用 ICMP.DLL 里面的函数去 Ping 也不想用控件IdIcmpClient<br><br>请问上面的代码有那里不完整的,谢谢