为什么我的IdTCPClient连接成功了,IdTCPServer却没有任何反应??

LCPDtiger 2012-11-09 08:47:36
这是我的程序代码, 点击BuTTON1后“client connected”的提示窗口是弹了出来的,但是“server connected”的窗口没有弹出来,并且点击Button2的时候,memo1里没有出现任何消息........这是怎么回事??

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPServer, IdTCPConnection,
IdTCPClient, StdCtrls;

type
TForm1 = class(TForm)
IdTCPServer1: TIdTCPServer;
Button1: TButton;
IdTCPClient1: TIdTCPClient;
Button2: TButton;
Memo1: TMemo;
Edit1: TEdit;
procedure idtcpserverconnect(AThread: TIdPeerThread);
procedure Button1Click(Sender: TObject);
procedure idtcpclientconnected(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure idtcpserverexcute(AThread: TIdPeerThread);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.idtcpserverconnect(AThread: TIdPeerThread);
begin
showmessage('server connected!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if idtcpclient1.Connected then
idtcpclient1.Disconnect;
idtcpclient1.Connect;
end;

procedure TForm1.idtcpclientconnected(Sender: TObject);
begin
showmessage('client connected!');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
idtcpclient1.WriteLn(edit1.Text);
end;

procedure TForm1.idtcpserverexcute(AThread: TIdPeerThread);
begin
memo1.Lines.Add(athread.Connection.ReadString(255));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with idtcpclient1 do
begin
boundport:=1818;
host:='127.0.0.1';
port:=1818;
end;

with idtcpserver1 do
begin
active:=true;
bindings.Add.Port:=1818;
bindings.Add.IP:='127.0.0.1';
defaultport:=1818;
end;


end;

end.
...全文
191 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LCPDtiger 2012-11-11
  • 打赏
  • 举报
回复
解决了,谢谢啊!!
LCPDtiger 2012-11-10
  • 打赏
  • 举报
回复
引用 1 楼 gzzai 的回复:
procedure TForm1.FormCreate(Sender: TObject); begin with idtcpclient1 do begin boundport:=1818; host:='127.0.0.1'; port:=1818; end; ……
什么??
wylton 2012-11-10
  • 打赏
  • 举报
回复
with idtcpserver1 do begin bindings.Add.Port:=1818; bindings.Add.IP:='127.0.0.1'; defaultport:=1818; active:=true; //要在这里。 end; active:=true; 是开启服务。 你先开启了,倾听的ip, 端口的设置就不起作用了。 不分分是小人。
广州佬 2012-11-10
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject); begin with idtcpclient1 do begin boundport:=1818; host:='127.0.0.1'; port:=1818; end; with idtcpserver1 do begin bindings.Add.Port:=1818; bindings.Add.IP:='127.0.0.1'; defaultport:=1818; active:=true; end; end;

1,593

社区成员

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

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