unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScktComp, ExtCtrls;type
  TForm1 = class(TForm)
  GroupBox2: TGroupBox;
    Listen: TButton;
    SSME: TMemo;
    SS: TServerSocket;
    SS_Edit: TEdit;
    SS_Send: TButton;
  GroupBox1: TGroupBox;
    Cennect: TButton;
    CSME: TMemo;
    CS: TClientSocket;
    CS_Edit: TEdit;
    CS_Send: TButton;    procedure ListenClick(Sender: TObject);
    procedure CennectClick(Sender: TObject);
    procedure SSClientConnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure CSRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure CS_SendClick(Sender: TObject);
    procedure SS_SendClick(Sender: TObject);
    procedure SSClientRead(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ListenClick(Sender: TObject);
begin
ss.Port :=808;
ss.Active := true;
end;procedure TForm1.CennectClick(Sender: TObject);
begin
cs.Host :='127.0.0.1';
cs.Port := 808;
cs.Open ;
end;procedure TForm1.SSClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
SOCKET.SendText('连接成功');
end;procedure TForm1.CSRead(Sender: TObject; Socket: TCustomWinSocket);
begin
csme.Lines.Add(socket.ReceiveText);
end;procedure TForm1.CS_SendClick(Sender: TObject);
begin
cs.Socket.SendText (cs_edit.Text);
end;procedure TForm1.SS_SendClick(Sender: TObject);
begin
ss.Socket.SendText (ss_edit.text);
end;procedure TForm1.SSClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
ssme.Lines.Add(ss.Socket.ReceiveText);
end;end.
能连接 并且连接上后有提示‘连接成功’
 可是不能sendtext 。 一按就提示什么'由于套接字没有连接(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受.(10057),.....'   
   不知道怎么搞的  帮帮我了 谢谢了阿 .

解决方案 »

  1.   

    SS_SendClick 这里好像有问题,这个控制的是监听的SOCKET,不是建立连接的那个
    Socket.SendText(MP_ACCEPT),socket是参数传进来的那个
      

  2.   

    ……靠,你这么就算抬举我了,我也是菜鸟
    你把procedure TForm1.SS_SendClick(Sender: TObject);
    begin
    ss.Socket.SendText (ss_edit.text);
    end;
    的SS.去掉,变成procedure TForm1.SS_SendClick(Sender: TObject);
    begin
    Socket.SendText (ss_edit.text);
    end;
    试试
      

  3.   

    去掉SS或着CS等之后出现  
    [Error]Unit.pas(75):Undeclared identifier:'Socket'
    ............................
         T_T ...