GARANTIR DESCONTO

Fórum Sockets com Delphi 7... #272474

16/03/2005

0

Olá pessoal..
estou desenvolvendo um sistema que necessita efetuar o envio de um arquivo gerado para um computador em outra cidade, para isso estou tentando utilizar sockets...
até agora encontrei pouco material a respeito de sockets na Internet, mas mesmo assim pelo pouco que entendi eu devo especificar no ServerSocket a porta e no SocketClient a porta e o IP para conexão..

testando localmente com o IP 127.0.0.1 a conexão foi realizada com sucesso, mas quando testo com outro computador que está conectado na Internet a conexão não é realizada..

Os computadores não possuem IP fixo... esse é um pré-requisito para a utilização dos sockets? ou caso eu tenha em mãos o número do IP a conexão tem que ser feita?

Mais uma dúvida... quando especifico o número da porta no ServerSocket ela fica aberta para conexão ou é necessário efetuar algum outro procedimento?

Atualmente estou obtendo o número do IP com o comando IPConfig e utilizando a porta 13352 ou 555.

Agradeço pela ajuda. :wink:


Vilela

Vilela

Responder

Posts

16/03/2005

Salsa

cara tenta usar a porta 2660 ... geralmente funciona pra web dentre outras coisas .... ou porta mais alta.. abraços :)


Responder

Gostei + 0

16/03/2005

Massuda

Os computadores não possuem IP fixo... esse é um pré-requisito para a utilização dos sockets? ou caso eu tenha em mãos o número do IP a conexão tem que ser feita?
Não ter IP fixo não é impedimento, apenas dá mais trabalho, pois você precisa ficar descobrindo qual é o IP do servidor. Existem formas de contornar esse inconveniente, como usar um serviço de DNS (traduz ´nome de site´ para IP).

Mais uma dúvida... quando especifico o número da porta no ServerSocket ela fica aberta para conexão ou é necessário efetuar algum outro procedimento?
Você precisa executar o método TServerSocket.Open para começar a ´escutar´ (aguardar conexão) e o método TServerSocket.Close para parar de ´escutar´.


Responder

Gostei + 0

17/03/2005

Vilela

Não estou conseguindo efetuar a conexão.. já alterei a porta, utilizei a 2660 conforme nosso amigo salsa sugeriu acima, mas não tive sucesso.

Não ter IP fixo não é impedimento, apenas dá mais trabalho, pois você precisa ficar descobrindo qual é o IP do servidor. Existem formas de contornar esse inconveniente, como usar um serviço de DNS (traduz ´nome de site´ para IP).


Você poderia me indicar um programa que faça esse serviço de DNS? já procurei na Internet e não encontrei nenhum...

Você precisa executar o método TServerSocket.Open para começar a ´escutar´ (aguardar conexão) e o método TServerSocket.Close para parar de ´escutar´.


Esse método já está sendo utilizado. Na conexão local com o IP 127.0.0.1 o sistema está funcionando normalmente.


Responder

Gostei + 0

17/03/2005

Massuda

[quote:a3bc438d64]Não ter IP fixo não é impedimento, apenas dá mais trabalho, pois você precisa ficar descobrindo qual é o IP do servidor. Existem formas de contornar esse inconveniente, como usar um serviço de DNS (traduz ´nome de site´ para IP).


Você poderia me indicar um programa que faça esse serviço de DNS? já procurei na Internet e não encontrei nenhum...[/quote:a3bc438d64]Não é um programa, é um serviço oferecido por algumas empresas. Funciona assim: você registra o domínio, por exemplo, www.example.com e usa DNS dinâmico para associar o nome www.example.com com um IP que você deve informar cada vez que se conecta à internet. Via Google, encontrei esta empresa brasileira de DNS dinâmico: [url=http://www.superdns.com.br/]SuperDNS.com.br[/url].

[quote:a3bc438d64] Você precisa executar o método TServerSocket.Open para começar a ´escutar´ (aguardar conexão) e o método TServerSocket.Close para parar de ´escutar´.


Esse método já está sendo utilizado. Na conexão local com o IP 127.0.0.1 o sistema está funcionando normalmente.[/quote:a3bc438d64]Você tem firewall ativo nessas máquinas? O IP que você está usando no programa cliente corresponde ao IP do programa servidor (experimente checar usando [url=http://www.meuip.com.br]MeuIP.com.br[/url]?


Responder

Gostei + 0

17/03/2005

Vilela

Não é um programa, é um serviço oferecido por algumas empresas. Funciona assim: você registra o domínio, por exemplo, www.example.com e usa DNS dinâmico para associar o nome www.example.com com um IP que você deve informar cada vez que se conecta à internet. Via Google, encontrei esta empresa brasileira de DNS dinâmico: [url=http://www.superdns.com.br/]SuperDNS.com.br[/url].


Encontrei no SuperDownloads um programa nacional (o DDNS) que faz esse serviço de DNS.

Você tem firewall ativo nessas máquinas? O IP que você está usando no programa cliente corresponde ao IP do programa servidor (experimente checar usando [url=http://www.meuip.com.br]MeuIP.com.br[/url]?

Eu fiz um teste com esse endereço e descobri que minha conexão utiliza NAT e mesmo com o endereço IP fornecido pelo site não consegui efetuar a conexão.


Responder

Gostei + 0

17/03/2005

Massuda

[quote:847bacbad5]Você tem firewall ativo nessas máquinas? O IP que você está usando no programa cliente corresponde ao IP do programa servidor (experimente checar usando [url=http://www.meuip.com.br]MeuIP.com.br[/url]?

Eu fiz um teste com esse endereço e descobri que minha conexão utiliza NAT e mesmo com o endereço IP fornecido pelo site não consegui efetuar a conexão.[/quote:847bacbad5]Coloque seu servidor na máquina que está conectada diretamente na internet; o servidor não funcionará se estiver sendo executado em uma máquina da rede local sem acesso direto à internet.


Responder

Gostei + 0

17/03/2005

Vilela

Descobri mais um modo de registrar o DNS. O Site [url]www.no-ip.com[/url] presta esse serviço gratuito.

[quote=´Massuda]Coloque seu servidor na máquina que está conectada diretamente na internet; o servidor não funcionará se estiver sendo executado em uma máquina da rede local sem acesso direto à internet.


Vou fazer o teste e caso tenha algum problema volto a entrar em contato..

Valeu pela força..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar