IdTCPServer如何主动向IdTCPClient发送数据 ( 积分: 100 )

  • 主题发起人 主题发起人 pop_zwl
  • 开始时间 开始时间
P

pop_zwl

Unregistered / Unconfirmed
GUEST, unregistred user!
C/S模型中,客户端可以向服务器发送数据,这个时候服务器可以返还一个数据给客户段.我现在想让服务器可以主动发送消息给客户段,比如可以用一个Button来点击发送.最好有这一块的代码.谢谢!
 
关注一下,有没有大牛来解决...个人认为...可以在客房端...建有TCPSERVER
 
可以的

functionSendStreamToServer(AThread:TIdPeerThread;Cmd:String): Boolean;
//AThread为客户端连接的线程
var
MyStream: TMemoryStream;
i:integer;
begin
Result := False;
try
MyStream:=TMemoryStream.Create; //内存流创建
Cmd:=EncodeBase64(Cmd); //加密的命令符
MyStream.Write(Cmd[1],Length(Cmd)); //命令符写入内存流
MyStream.Position:=0;
i:=MyStream.size;
[red] AThread.Connection.Write(inttostr(i)+EOL); //写入命令长度加Eol
AThread.Connection.WriteStream(MyStream); //写入命令字符流[/red]
Result := True;
finally
MyStream.Free;
end;
end;
以上代码是灰鸽子源码中的,红色部分便是发送的具体实现
 
接受答案了.
 
后退
顶部