Trabalhando com Socket duvida de envio

Galera estou trabalhando com Socket até aqui tudo bem meu Client e Server comunica numa boa.
porem eu gostaria de enviar uma mensagem para 1 unico client que esteja conectado em meu Server…

como faço isso ?
tem algo do tipo
socket.getChanel coisas assim ?

Seguinte…

Vc pode armazenar em uma estrutura na qual vc consiga recuperar os clientes que estao conectados no servidor, ou seja… vc mantem uma thread ativa que somente vai reencaminhando as coneccoes que vao chegando na porta do server pra uma classe que vai controlar esses clientes. Eu te aconselharia o uso do design pattern proxy pra vc controlar isso…
Bem… agora qdo essa classe controladora dos clientes connectados recebe um determinado cliente… vc pega o endereco de IP e porta dele, qdo vamos trabalhar em uma intranet pois cada maquina tem o seu ip, e pra vc identificar com um Map vc faz isso tranquilo…
Agora q vc ja tem os clientes que estao conectados, vc manda o ip dele pra o map identificador… encontra se e o cliente que vc quer mandar… e simplemente manda uma mensagem pra esse ip proprio, ok ?
Duvidas. e so falar :smiley:

legal cara muito boa sua explicação eu entendi ! sim

só me tira umas duvidas técnicas. esse MAP seria o HashMap contendo os IP’s como Chave ?
e só outra coisa, como do meu SERVER vou enviar mensagens para o Cliente expecifico por IP ?
preciso abrir um outro Socket com o IP ? já pesquisei sobre isso mas está dificil encontrar como fazer…

Mas mais uma vez brigado cara por me ajudar !! :wink:

Abração !!!
:grin:

Opa…
Sobre o Map, pode ser um TreeMap, um LinkedHashMap ou simplesmente um HashMap, mas um HashMap ja resolve o seu problema.
Aogra sobre o server… da uma olhada nesse kra aqui…

http://java.sun.com/j2se/1.4.2/docs/api/java/net/ServerSocket.html

ai tem os metodos q vc consegue saber quem foi os kras q estao connectados e a porta deles… agoa sobre abrir um socket, vc n precisa nao, pois com o uso de sockets… tanto o cliente conversa com o server, qto o server conversar com o cliente pelo mesmo canal…
So relembrando um pouco como funciona o esqeuma de conexao…

O cliente se conecta no server atraves de uma PORTA e um IP especifice certo ?
Entao… o server pd tanto mandar qto receber msg com esse sockets, o q deve ser especificamente um byte[], e essa conversa acontece normalmente, mas o legal ai do que vc ta fazendo, vai ser gerenciar… o server pra ele mandar as msgs certas pra varios sockets…

Ou seja… no server… qdo um cliente novo se conecta ele cria um novo objeto Socket… entao vc pode gerencia no seu map, o IP + Socket. ok ?

Ok , tá legal então vou fazer o que vc me disse, qualquer coisa eu volto a dar um grito ae pra vc …

Valeu mesmo cara !
vou dar uma estudada no link que vc me mandou !

Brigado !
:grin: