Sockets com Delphi 7...
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:
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
Curtidas 0
Respostas
Salsa
16/03/2005
cara tenta usar a porta 2660 ... geralmente funciona pra web dentre outras coisas .... ou porta mais alta.. abraços :)
GOSTEI 0
Massuda
16/03/2005
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´.GOSTEI 0
Vilela
16/03/2005
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.
Você poderia me indicar um programa que faça esse serviço de DNS? já procurei na Internet e não encontrei nenhum...
Esse método já está sendo utilizado. Na conexão local com o IP 127.0.0.1 o sistema está funcionando normalmente.
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.
GOSTEI 0
Massuda
16/03/2005
[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]?
GOSTEI 0
Vilela
16/03/2005
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.
GOSTEI 0
Massuda
16/03/2005
[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.
GOSTEI 0
Vilela
16/03/2005
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.
[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..
GOSTEI 0