delphi 网络编程

delphi 一个客户端一个服务端 当serversocket端 edit1 edit2 edit3
有任何数字或文字时。 clientsocket端的edit1 edit2 edit3 也相应接到到服务端的数字或文字。如何现实。最好有全的代码。

在edit的keyup 事件中写
socket通讯代码
BrodcastMessage(Data, AThread);

可以参考

procedure TForm_Server_Main.BrodcastMessage(Msg: string; AThread: TIdPeerThread);
var
List: TList;
I: Integer;
begin
List := ChatServerSocket.Threads.LockList;
try
for I := 0 to List.Count - 1 do
begin
try
if AThread <> TIdPeerThread(List.Items[I]) then
begin
TIdPeerThread(List.Items[I]).Connection.WriteLn(Msg);
end;
except
on E: Exception do
begin
memLog.Lines.Add('Exception (' + FormatDateTime(StatusDateTimeFormat, Now) + ') [' + E.ClassName + ']: ' + E.Message);
memLog.Lines.Add('The thread has been stopped');
TIdPeerThread(List.Items[I]).Stop;
end; //on
end; //try
end; //for
finally
ChatServerSocket.Threads.UnlockList;
end;
end;

**************

另外,在三层通讯方面,建议使用RemObjects,
非常方便。而且协议都是XML的,接口非常好些,框架成熟。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-24
delphi自带的例子里面,就有一个简单的聊天的,可以参考。
相似回答