![]() |
TCP/IP Packets: Sender IP
Hi Leute,
gibt es die Möglichkeit, ein IP-Paket selber aufzubauen und zu versenden, und die Antwort davon auszuwerten? Gruß, Moritz |
Re: TCP/IP Packets: Sender IP
Darf ich mal fragen, wieso du IP-Pakete senden und empfangen möchtest? Unter diesem Protokoll ist nur noch die Netzwerkkarte => hardwarenahes Programmieren (TCP/IP basiert auf einem Schicht-Modell). Normalerweise sollten Sockets ausreichen, es sei denn, du willst ein Diagnoseprogramm schreiben
|
Re: TCP/IP Packets: Sender IP
Aus Interesse, wie es funktioniert.
|
Re: TCP/IP Packets: Sender IP
|
Re: TCP/IP Packets: Sender IP
Danke, werd es mir anschauen!
|
Re: TCP/IP Packets: Sender IP
Zitat:
[ot]da fällt mir ein,d ass ich mal wieder halo2 online zoggen muss :mrgreen:[/ot] aenogym |
Re: TCP/IP Packets: Sender IP
Ich hab mich jetzt etwas durch die MSDN gekämpft, und folgendes ist dabei rausgekommen:
Delphi-Quellcode:
Allerdings bekomme ich keine Antwort.
var
lwsaData: WSADATA; lsocket: TSOCKET; clientService: sockaddr_in; bytesSent: Integer; bytesRecv: Integer; sendbuf: Array[0..31] of Char; recvbuf: Array[0..31] of Char; begin if WSAStartup(MAKEWORD(2,2), lwsaData) <> NO_ERROR then Exit; lsocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if lsocket = INVALID_SOCKET then Exit; clientService.sin_family := AF_INET; clientService.sin_addr.s_addr := inet_addr('128.30.52.24'); //w3c's ip-adress clientService.sin_port := htons(80); // port 7 to send echo's if connect(lsocket, TSockAddr(clientService), sizeof(clientService)) = SOCKET_ERROR then ShowMessage('N'); sendbuf := 'GET / HTTP/1.1'+#13#10+'Host: w3c.org'; bytesRecv := SOCKET_ERROR; bytesSent := send(lsocket, sendbuf, strlen(sendbuf), 0); ShowMessage(IntToStr(bytesSent) + ' bytes sent out there'); while bytesRecv = SOCKET_ERROR do begin ShowMessage(IntToStr(bytesRecv)); bytesRecv := recv(lSocket, recvbuf, 32, 0); ShowMessage(IntToStr(bytesRecv)); if (bytesRecv = 0) or (bytesRecv = WSAECONNRESET) then ShowMessage('closed'); Application.ProcessMessages; end; WSACleanup(); ShowMessage('j'); Gruß, Moritz P.S.: Das ist zwar nicht ganz das, was ich will, da ich nicht an die IP Header rankomm, aber es ist ein guter Kompromiss. |
Re: TCP/IP Packets: Sender IP
Delphi-Quellcode:
Versuch es erstmal so!
sendbuf := 'GET / HTTP/1.1'+#13#10#13#10
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz