如题。最好有代码。

解决方案 »

  1.   

    ClientSocket1.Active := False;
      ServerSocket1.Active := True;
      Statusbar1.Panels[0].Text := 'Listening...';
      

  2.   

    unit Unit_Test;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons, ScktComp, ComCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        ClientSocket1: TClientSocket;
        ServerSocket1: TServerSocket;
        StatusBar1: TStatusBar;
        Panel1: TPanel;
        Memo1: TMemo;
        Panel2: TPanel;
        Memo2: TMemo;
        Panel3: TPanel;
        BitBtn1: TBitBtn;
        BitBtn3: TBitBtn;
        BitBtn4: TBitBtn;
        BitBtn2: TBitBtn;
        procedure BitBtn2Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure BitBtn3Click(Sender: TObject);
        procedure Memo1KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure ServerSocket1Accept(Sender: TObject;
          Socket: TCustomWinSocket);
        procedure ServerSocket1ClientRead(Sender: TObject;
          Socket: TCustomWinSocket);
        procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
        procedure BitBtn4Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      protected
        IsServer: Boolean;
      end;var
      Form1: TForm1;
      Server: String;
    implementation{$R *.dfm}procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
      ClientSocket1.Active := False;
      ServerSocket1.Active := False;
      close;
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      ClientSocket1.Active := False;
      ServerSocket1.Active := True;
      Statusbar1.Panels[0].Text := 'Listening...';
    end;procedure TForm1.BitBtn3Click(Sender: TObject);
    begin
      if ClientSocket1.Active then
      begin
        ClientSocket1.Active := False;
      end;
      if InputQuery('计算机连接到', '要连接的计算机的IP地址或者计算机名:', Server) then
        if Length(Server) > 0 then
        begin
          ClientSocket1.Host := Server;
          ClientSocket1.Active := True;
       end;
    end;procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Key = VK_Return then
      begin
        if IsServer then
        begin
           ServerSocket1.Socket.Connections[0].SendText(Memo1.Lines.Text)
        end
        else
        begin
           ClientSocket1.Socket.SendText(Memo1.Lines.Text);
        end;
      end;
    end;procedure TForm1.ServerSocket1Accept(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      IsServer := True;
      Statusbar1.Panels[0].Text := 'Connected to: ' + Socket.RemoteAddress;
    end;procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      Memo2.Lines.Add(Socket.ReceiveText);
    end;procedure TForm1.ClientSocket1Read(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      Memo2.Lines.Add(Socket.ReceiveText);
    end;
    procedure TForm1.BitBtn4Click(Sender: TObject);
    begin
      ClientSocket1.Active := False;
      ServerSocket1.Active := False;
    end;end.
      

  3.   

    在WIN2000下可以使用原始套接字
      

  4.   

    楼主,借个地方:
    谁可以给个用UDP发送广播$02或$03或$04到网内电脑的1434端口,并监听回传的信息,来判断些台电脑是否是SQL2000的服务器。
    代码发送到 : [email protected]
    注明CSDN的名称,高分相送。