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.