Olá colega! Tomando como exemplo 3 maquinas se comunicando... basicamente seria o seguinte:
maquina 1 cliente terá um programa codificado com um SocketClient maquina 2 cliente terá um programa codificado com um SocketClient maquina 1 servidor terá um programa codificado com um SocketServer um outro colega já lhe deu uma dica sobre protocolos a serem criados. digamos que o cliente 1 deseje se comunicar (conversar) com o cliente 2 ex: o cliente 1 envia para o servidor (com ip fixo) uma string contendo uma série de informações (isto é o protocolo) ip_do_cliente_1###nick_do_cliente_1###nick_do_cliente_2###mensagem_do_cliente_1 então o SocketServer lê e quebra/separa esta string... ex: ip_do_cliente_1 nick_do_cliente_1 nick_do_cliente_2 mensagem_do_cliente_1 imagine que o programa servidor tem uma lista de todos os nicks e ips conectados * ele guarda estas informações no momento de cada conexão estabelecida então ele irá pesquisar nesta lista o nick_cliente_2 e enviará para o ip_do_cliente_2 a mensagem_do_cliente_1 com o respectivo nick_do_cliente_2 * para que maquina 1 saiba com quem está falando :) e por ai vai... a maquina 2 recebe a mensagem do servidor e retorna da mesma forma (protocolo) alterando apenas o nick do destino ex: A maquina 2 retorna para o servidor (com ip fixo) a resposta para a maquina 1 com uma string contendo uma série de informações (isto é o protocolo) ip_do_cliente_2###nick_do_cliente_2###nick_do_cliente_1###mensagem_do_cliente_2 e o processo continua :) Lógico que eu sintetizei o exemplo. Vale lembrar que... * todos os clientes e o servidor * poder estar se comunicando * utilizando uma única porta ex: 6666 isto é possível pois o SocketServer abre + um canal de comunicação na mesma porta... para o novo cliente que solicitou a conexao. * pense em uma única estrada * com n faixas para tráfego dos veiculos :) existem N variantes que poder ser exploradas... a depender das necessidades e criatividade do programador. Ex: os clientes e o servidor podem utilizar mais de 1 porta para agilizar o processo. 1 porta para enviar textos (6666) outra quando for enviar arquivos/imagens (6667) outra quando for enviar arquivos/sons (6668) já da para ver que ... se o servidor administra as conexões... então ele pode fazer qualquer coisa com as máquina clientes :) ex: _ desconectar qualquer cliente _ logar as mensagens de todos os clientes _ enviar mensagens publicitárias para todos os clientes :) _ enviar arquivos/executáveis e rodar automaticamente nos clientes :) há... Um programa poder ser codificado com os sockets (client/server) neste caso cada máquina seria também um servidor :) normalmente o servidor tem que ter um IP fixo (este é o correto) mas nada impede do servidor tenha um IP dinâmico e nele tenha uma rotina codificada que envie por exemplo seu IP atual dentro de um .txt para um FTP (este teria o IP fixo) e os clientes (socketclient) antes de solicitarem a conexão leriam de alguma forma o IP que estaria no .txt no FTP (existem n maneiras de fazer isto) e só depois solicitar a conexao com a maquina servidora :) (esta seria uma gambiarra para usuários domésticos) programas mensageiros como o msn e outros utilizam técnicas similares... trojans :) utilizam também este tipo de técnica :) os sockets são poderosos pois são a base da comunicação entre as máquinas... variando apenas as formas de se estabelecer as conexões... e os protocolos utilizados para a conversação entre as máquina. * alguns bem conhecidos já são pré-definidos: FTP HTTP SMTP... etc. bem... se você quiser dar um primeiro passo construinto um chat (utilizando conexão dinâmica nos SocketServer) que permite N conexões de clientes em 1 servidor na mesma porta... posso sugerir um livro (antigo) mas muito legal encontrado na www.visualbooks.com.br com o titulo "desenvolvendo um chat em delphi" do autor Leandro Cristovão o link é http://www.visualbooks.com.br/?show=MostraProduto&chave=3689&categoria= valeu. espero ter contribuido de alguma forma. Luciano-User-BA > > Ok, e com este novo protocolo, como por exemplo ele é enviado....por > alguma porta? como sai de um micro e vai parar em outro? acho que está é > minha duvida. > > Desc. Por perguntar...mas não faco ideia nem ao menos do que > pesquisar...(alem de saber como implementar algo do genero) > [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html