Мозг плавится

информация в голову не лезет, а наоборот вылазит.
Помогите кто чем сможет(прям как нищий на паперти)
Первая прога Sniffer из ее кода мне нужно вырезать лишнее:
1) мне
не нужно что бы пакеты отображались.
2) мне
не нужны входящие пакеты, только исходящие.
Что нужно добавить:
1) выбор хоста вместо интерфейса.
Вторая прога TCP/IP Packet Generator не работает или что не правильно делаю? При нажатии на кнопку Generate TCP Packets выдает такую ошибку:
ERROR: SendDatagram error [SocketError 10004: Операция блокирования прервана вызовом WSACancelBlockingCall].
Поэтому, что из нее вырезать, а что вставлять думать пока рано.
Пытался написать простейший сокет-клиент примеры в интернете есть, но так и не дошло почему не работает. Показано так:
Цитата:
{... Здесь идет заголовок файла и определение формы TForm1 и ее экземпляра Form1}
{В форму нужно поместить кнопку TButton и два TEdit.
При нажатии на кнопку вызывается обработчик события OnClick - Button1Click.
Перед этим в первый из TEdit-ов нужно ввести хост-имя,
а во второй - порт удаленного компьютера.
НЕ ЗАБУДЬТЕ ПОМЕСТИТЬ В ФОРМУ КОМПОНЕНТ TClientSocket!}
procedure Button1Click(Sender: TObject);
begin
{Присваиваем свойствам Host и Port нужные значения}
ClientSocket1.Host := Edit1.Text;
ClientSocket1.Port := StrToInt(Edit2.Text);
{Пытаемся открыть сокет и установить соединение}
ClientSocket1.Open;
end;
procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
{Как только произошло соединение - закрываем сокет и прерываем связь}
ClientSocket1.Close;
end;
|
Делаю так:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
ClientSocket1: TClientSocket;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure Button1Click(Sender: TObject);
begin
ClientSocket1.Host := Edit1.Text;
ClientSocket1.Port := StrToInt(Edit2.Text);
ClientSocket1.Open;
end;
procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
ClientSocket1.Close;
end;
Может там надо что прописать в properties и events?
Чувствую себя таким неумным

.