请教TServerWinSocket的使用例程

myth_2002 2003-10-16 10:55:01
我第一次用这个东西,不知道该怎么用
还有 serverSocket:=TServerWinSocket.Create(100000);//帮助里说Create中要传
//入一个TSocket类型(实际上是一个Integer)不知道该写什么,请教一下。
请有用过这个东西的大哥大姐介绍一下用法



...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
myth_2002 2003-10-16
  • 打赏
  • 举报
回复
这个跟TServerWinSocket有关系吗?
karach 2003-10-16
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, ComCtrls, StdCtrls, Menus;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Z1: TMenuItem;
L1: TMenuItem;
C1: TMenuItem;
N1: TMenuItem;
X1: TMenuItem;
Memo1: TMemo;
StatusBar1: TStatusBar;
Memo2: TMemo;
ClientSocket1: TClientSocket;
ServerSocket1: TServerSocket;
procedure L1Click(Sender: TObject);
procedure C1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
IsServer: boolean;
Server :AnsiString;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.L1Click(Sender: TObject);
begin
L1.Checked :=not L1.Checked ;
if L1.Checked then
begin
Clientsocket1.Active :=false;
serversocket1.Active :=true;
statusbar1.SimpleText :='监听...';
end
else
begin
if serversocket1.Active then
serversocket1.Active :=false;
statusbar1.SimpleText :='';
end;
end;

procedure TForm1.C1Click(Sender: TObject);
begin
if clientsocket1.Active then
clientsocket1.Active :=false;
if inputquery('Computer to connect to','Address Name:',server) then
if length(server) >0 then
begin
clientsocket1.Host :=server;
clientsocket1.Active :=true;
L1.Checked :=false;
end;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
clientsocket1.Active :=false;
serversocket1.Active :=true;
statusbar1.SimpleText :='监听...';
end;

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
if IsServer then
serversocket1.Socket.Connections[0].SendText(memo1.Lines.Strings[memo1.Lines.count-1])
else
clientsocket1.Socket.SendText(memo1.Lines.Strings[memo1.Lines.count-1] );

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
L1click(nil);
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText :='连接到:'+Socket.RemoteHost ;

end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
L1Click(nil);
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
Memo2.Lines.Add('连接到:'+Server+'时发生错误');
ErrorCode:=0;
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText() ) ;

end;

procedure TForm1.ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
begin
IsServer:=true;
StatusBar1.SimpleText:='连接到:'+Socket.RemoteAddress ;

end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Clear() ;

end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText:='监听...' ;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo2.Lines.Add(Socket.ReceiveText() );

end;

end.
myth_2002 2003-10-16
  • 打赏
  • 举报
回复
来个人啊

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧