delphi 7 中的tcpClient如何接收服务器发送的数据

delphi 7 中的demos/internet/netChat中有客户端向服务器发送数据 本人测试通过了,由于是刚刚接触所以无法实现接收服务器发送的数据,请高手贴代码!还有就是tcpClient的Events事件中无法触发OnReceive事件,也就是说无法接到服务器发送的数据,这是为什么呢?如有疑问请自己参阅demos.
delphi 7中的TcpClient 和TcpServer组件的应用,一楼的是6中的7已经不用了,不过你的我可以用算了结贴吧!

第1个回答  推荐于2017-10-10
我的是Delphi 6,不知Delphi 7中的netchart示例中用的是什么通信组件?如果是ServerSocket与ClientSocket,则看一看下面的程序:
在Delphi中,用ServerSocket与ClientSocket组件,建立TCP/IP通信非常容易。

1、创建2个应用程序,一个是Server,另一个是Client。

2、Server程序的窗体上放置ServerSocket组件,并设置其port属性(如:设置为5000),并将Active属性设置为True;

3、Client程序的窗体上放置ClientSocket组件,也设置其port属性,与ServerSocket组件的port属性相同,也设置为5000;设置Adress属性为Server程序所在的机器的IP地址。如果Server程序与Client程序在同一台机器上,则设置Address 为127.0.0.1 。
再放一个命令按钮,在OnClick事件中添加一行事件处理程序:
ClientSocket1.Open;

在OnConnect事件中添加事件处理程序:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.lines.add('已经建立连接...');
end;

4、Server端:利用ServerSocket1.socket.connections[i].sendtext('......')
发送文本。在OnClientRead事件中接收Client端发送来的信息:

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.lines.add(socket.ReceiveText);
end;

5、Client端:利用ClientSocket1.Socket.SendText('......')
发送文本。在OnRead事件中接收Server端发送来的信息:

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.lines.add(socket.ReceiveText);
end;

行了,可以运行了。本回答被提问者采纳