Array
(
)

envia via Sockets

Marcal
   - 15 mar 2006

Bom pessoal to usando um socket servidor em uma aplicação servidora e em uma aplicacao cliente um socket cliente. tenho varios clientes q conecta nos servidor como fasso pra apelidar um cliente no servidor exemplo se o terminal Dp01 conectar eu vejo o nome dele no servidor, se o Cml01 conectar eu vejo no servidor. pq quero identificar pq e o seguinte um terminal envia uma informação pro servidor q recebe e distribui pra todos q estam conectados com exeção pra aquele q enviou pro servidor então pensei q se eu pudesse apelidar cada terminal eu posso criar um loop pra enviar pra todo mundo mesno por terminal xxx se alguem tiver uma solução similar q resolva isso eu agradeço


Paullsoftware
   - 16 mar 2006

Coloque dois ListBox no seu servidor e faça esse código:#Código


procedure TfServ.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
LbClients.Items.Add(Trim(Socket.RemoteAddress));//ListBox1
LbAcoes.Items.Add(´Cliente:´+Socket.RemoteAddress+´ Conectou!´);//ListBox2
end;


para saber se alguém se desconectou faça o sódigo abaixo:#Código

procedure TfServ.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
var Procura:Integer;
begin
Procura := LbClients.Items.IndexOf(Socket.RemoteAddress);
if Procura >= 0 then
begin
LbClients.ItemIndex:=Procura;
LbClients.DeleteSelected;
end;
LbAcoes.Items.Add(´Cliente:´+Socket.RemoteAddress+´ Desconctou!´);
end;

espero ter ajudado, o nome que vc recebe é o nome do micro na rede! :wink: