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

解决方案 »

  1.   

    unit Unit1;interfaceuses
      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.
      

  2.   

    这个跟TServerWinSocket有关系吗?