USANDO SOCKETS...POR FAVOR AJUDEM-M!!!

USUARIO.EXCLUIDOS 06/09/2007 08:06:11
#234385
tenho uma duvida em relação ao uso de sockets no visual basic.
imagine-se por exemplo que um computador está ligado em rede a outro e tem também acesso á internet. Usando as sockets em visual basic, o ip local é definido pelo ip da rede interna. há alguma possibilidade de definir o ip local pelo ip da internet?
Digamos que, por exemplo, pretendia criar um chat que funcionasse atraves da internet. Com o meu pc ligado a duas redes (interna e internet), como posso fazer isso?
USUARIO.EXCLUIDOS 06/09/2007 10:32:42
#234423
Bom amigo, no Winsock (Componente de Sockets mais utilizado no VB), vc não define o seu IP, mas sim define o IP de onde vc quer conectar.

Pra fazer o chat, vc vai ter que ter um projetinho server, que ficará na Web, e vc vai precisar saber o IP desse cara pra conectar, e ele distribui as mensagens.

Então na verdade, o seu IP(Interno ou externo) é indiferente, o que vc precisa saber é o IP do destino da conexão, e esse sim vc precisa do externo (Caso esteja fora de sua rede local).
MADMAX 06/09/2007 12:18:33
#234474
Resposta escolhida
Amigo , isso que você quer fazer não diz respeito ao Winsock e sim a sua estrutura de rede, bom de inicio isso tem a ver como vc compartilha a internet entre os computadores ai dependendo de como e esse seu compartilhamento você teria que ter regras de roteamento de rede assim estando o roteador responsavel pelos ips assim conseguindo saber qual maquina que enviou a mensagem...espero que tenha ajudado pelo menos um pouco ......
USUARIO.EXCLUIDOS 06/09/2007 13:31:40
#234499
peço desculpa não me expressei correctamente...
eu tenho esse pequeno chat e funciona mt bem em rede...
o meu problema não está ao fazer o pedido de conexão, mas sim ao receber...
explicando: eu tenho um computador (onde corre o programa servidor) que está ligado á net e a outro computador (rede interna). Ou seja o programa servidor vai ter 2 ips (um da internet e outro da rede interna). O meu problema é que o programa escolhe o ip da rede interna (não desejado).
se alguém com o programa cliente se quiser conectar a mim via internet, não consegue, porque o servidor apenas vai estar a aceitar conexões da rede interna...

MADMAX eu percebi o que queria dizer, mas eu sou um novato por estas áreas de redes e coisas assim... se me puder explicar melhor como fazer isso, agradecia. Tenho dois computadores em rede em que um deles se liga à net. é uma rede simples, mas já me está a dar nós no cerebro :P

um abraço
USUARIO.EXCLUIDOS 06/09/2007 13:38:41
#234503
Citação:

se alguém com o programa cliente se quiser conectar a mim via internet, não consegue, porque o servidor apenas vai estar a aceitar conexões da rede interna...




Eu creio que não!! Creio que ele aceitaria conexão tanto da rede interna quanto da rede externa, o porém está no IP que vc conecta.

Vc tem que ver, se este seu servidor possui um IP Válido na web. Se vc não possui um firewall que bloqueie ou redirecione os acessos pelas portas.

Mais o Winsock em si, não faz restrições de conexões internas ou externas, o problema realmente baseia-se em sua estrutura de rede.
USUARIO.EXCLUIDOS 06/09/2007 15:01:29
#234529
então eu não sei qual é o problema. se eu fizer winsock.localip ele vai-me dar o ip da rede interna...
ora se o ip local vai ser o interno, nenhuma tentativa de conexão vinda da internet vai ser aceite... eu não consigo fazer a conexão... :S
USUARIO.EXCLUIDOS 06/09/2007 15:11:44
#234531
tive a experimentar novamente o programa... ele funcionou, mas o servidor tem de estar a ser executado na máquina onde o acesso á internet é efectuado...
agora a duvida é outra: se eu utilizar o servidor no computador que recebe internet partilhada ele não vai funcionar direito... alguma ajudinha?

obrigado por tudo até agora pessoal :)
USUARIO.EXCLUIDOS 06/09/2007 15:35:17
#234543
Amigo, como eu já te falei, o LocalIP não tem nada a ver com as requisições recebidas pelo Winsock.


O que vc precisa fazer, como eu também já falei, é redirecionar as chegadas para a máquina onde roda o seu servidor.
Funciona tipo assim: Vc instala na máquina onde está o acesso a internet um determinado software de firewall. Neste software vc configura para redirecionar as chamadas na porta que vc utiliza para a máquina onde roda o server do seu chat.

Basicamente é isto que precisa fazer.
MADMAX 06/09/2007 17:12:20
#234570
KALKER , sei fazer isso muito bem no linux mas no windows , não sei muito bem não , de inicio como o MARCELO falou vc deve arrumar um programa , acredito não ser um firewall mais sim um programa para você compartilhar a conexao de internet ... esse tipo de programa geralmente tem proxy no nome .. tipo pra ajudar http://superdownloads.uol.com.br/busca/proxy.html ai tem varios pega um desses procure pegar um que tenha um tutorial na net que te mostre como configurar .... este tipo de programa te permite rotear(DIRECIONAR OS PACOTES) da rede ele cria uma tabela interna com os endereços de rede assim não errando o ip ... é algo bem complexo o que vc quer fazer se fosse em linux ate teria scripts para te arrumar que fariam o serviço mais como não e da uma corridinha atraz .... nada que algumas horas de leitura não resolva....espero ter ajudado um pouco..qualquer coisa estamos ai
Tópico encerrado , respostas não são mais permitidas