各位大哥,帮我看看这段是哪里错了呀,(50分)

  • 主题发起人 主题发起人 wmhnq
  • 开始时间 开始时间
W

wmhnq

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥,我用SOCKET写的聊天的服务器端,当有数据重客户端发送到服务器端的时候就转发给每个客户端,但是下面这段我不知道哪里错了,我知道肯定大错特错了,老大们,帮帮我呀。
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var i:integer;
begin
if serversocket1.Socket.ActiveConnections=0 then exit;
for i:=0 to serversocket1.Socket.ActiveConnections-1 do
begin
serversocket1.Socket.Connections.SendText(socket.ReceiveText);
end;
end;
 
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
i:integer;
sRecvStr: string;
begin
sRecvStr := socket.ReceiveText;
if serversocket1.Socket.ActiveConnections=0 then exit;
for i:=0 to serversocket1.Socket.ActiveConnections-1 do
begin
serversocket1.Socket.Connections.SendText(sRecvStr);
end;
end;
 
大哥,行了呀,谢谢,但是有另外一个问题,就是当一个客户端发送信息的时候,他自己会收到发送的那个信息,我怎么可以不让客户端那个信息重复了。
 
大哥,行了呀,谢谢,但是有另外一个问题,就是当一个客户端发送信息的时候,他自己会收到发送的那个信息,我怎么可以不让客户端那个信息重复了。
 
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
i:integer;
sRecvStr: string;
begin
sRecvStr := socket.ReceiveText;
if serversocket1.Socket.ActiveConnections=0 then exit;
for i:=0 to serversocket1.Socket.ActiveConnections-1 do
begin
if ServerSocket1.Socket.Handle <> Socket.Handle then
serversocket1.Socket.Connections.SendText(sRecvStr);
end;
end;

试试这样行不
 
后退
顶部