Q&A

  • WSocket.Proto 에서 udp 와 tcp 에 대하여
WSocket.Proto 에서 udp 와 tcp 에 대하여

아래 소스와 같이
WSocket.Proto      := 'udp';
로 하였을 경우
연결을 클릭하면 연결되었다고 하고
취소를 클릭하면 취소되었다고 대답을 잘하는데

WSocket.Proto      := 'tcp';
로 할 경우에
연결을 클릭하면 연결메시지 출력후
바로 취소메시지가 출력됩니다.
어떻게 하여야
WSocket.Proto      := 'udp';
로 하였을 때와 같은 결과를 얻을 수 있습니까?


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, WSocket, StdCtrls;

type
  TForm1 = class(TForm)
    WSocket: TWSocket;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure WSocketSessionConnected(Sender: TObject; Error: Word);
    procedure WSocketSessionClosed(Sender: TObject; Error: Word);
    procedure WSocketSocksError(Sender: TObject; Error: Integer; Msg: String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
    WSocket.Addr       := '168.126.63.1';
    WSocket.Proto      := 'udp';
    WSocket.Port       := '1001';
    WSocket.Connect;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    WSocket.Close;
end;

procedure TForm1.WSocketSessionConnected(Sender: TObject; Error: Word);
begin
    Edit1.Text := 'WSocketSessionConnected';
end;

procedure TForm1.WSocketSessionClosed(Sender: TObject; Error: Word);
begin
    Edit2.Text := 'WSocketSessionClosed';

end;

procedure TForm1.WSocketSocksError(Sender: TObject; Error: Integer;
  Msg: String);
begin
    Edit3.Text := 'WSocketSocksError';

end;

end.
0  COMMENTS