duvida com socket

1. duvida com socket

JOAO BATISTA DA SILVA
batista_silva

(usa Debian)

Enviado em 19/08/2008 - 17:48h

Ola pessoal, preciso desenvolver uma aplicação com socket, porem nunca fiz nada. Minha duvida está como realmente o servidor trabalha, pois preciso ter varios clientes se conectando no servidor verificando se há algum comando para ser executados por eles, e esses clientes não terão IP validos, por isso que não uso ssh para me conectar a eles, e tentei instalar o hamachi que seria outra alternativa, porem não funcionou na distribuição em que instalei, por isso preciso desenvolver meu proprio meio de gerenciar minhas maquinas.

desde já agradeço toda informação possivel.

Batista


  


2. Re: duvida com socket

Vanderson Gonçalves
vnderson

(usa Fedora)

Enviado em 19/08/2008 - 18:11h

cara, acho altamente não recomendável a reinvenção da roda, principalmente neste caso, onde temos toda a segurança providas pelo ssh, acho dificil que o seu aplicativo provenha algo com a mesma qualidade, não querendo te desmerecer.

Mas, já que você perguntou. Em C se utiliza primitivas basicas do lado do servidor:

SOCKET - para criar um socket, não lembro se é esta mesmo
BIND - Associa um endereço ao socket criado
LISTEN - Coloca uma escuta no endereço associado ao socket
ACCEPT - Aceita a conexão de um cliente

Neste ponto, ACCEPT, é criado um novo socket para cada cliente, que é encerrado pela primitiva CLOSE.

Use a pagina MAN 2 para mais detalhes. Exemplo:
# man 2 accept



3. Re: duvida com socket

JOAO BATISTA DA SILVA
batista_silva

(usa Debian)

Enviado em 19/08/2008 - 20:35h

Minha maior duvida esta se o servidor realmente necessita ter um endereco valido do cliente, ou se e o cliente que faz tudo, como se conectar e pegar os dados do servidor, e nao o servidor enviar para o cliente, pois ele nao vai encontrar o cliente, pois dificilmente ele irar ter um IP valido. O hamachi trabalha dessa forma, sempre e o cliente que conectar busca comando e envia para o servidor dele que disponibiliza para os outros clientes.



4. Re: duvida com socket

JOAO BATISTA DA SILVA
batista_silva

(usa Debian)

Enviado em 20/08/2008 - 11:45h

Ola pessoal, só para esclarecer para todos que já entendi como funciona a aplicação cliente/servidor. Realmente o cliente é quem pega todas as informações do servidor, o servidor quando quer interagir com o cliente, apenas disponibiliza algo e o cliente pega para ele. Como obtive essa informação? Simples: coloquei o servidor em um endereço com ip fixo, como: 200.189.999.10 e numa maquina com ip 192.168.0.10 me conectei no servidor que estava em outro lugar fora da minha rede local, o que aconteceu é que o cliente se conectou no servidor, enviou comando e ao mesmo tempo recebeu.
Isso significa que o servidor não tenta enviar algo diretamente para o ip do cliente, pois já mais conseguiria por ser um ip que nao conseguiria alcançar, e sim, disponibiliza e o cliente pega para ele as informações que o servidor fornece.

É isso ai.










Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts