SocketConnection...qual IP definir no Cliente?

Delphi

27/04/2005

Fala pessoal, seguinte: Estou utilizando o SocketConnection na minha aplicação cliente para acessar um servidor remotamente. O problema é que está dando um erro na tentativa de acesso (Windows Socket Error: (10060), on API ´connect´), está tudo correto, o Borland Socket Server está rodando na maquina servidora e tudo......nesse caso gostaria de saber se o IP que deve ser utilizado no Host do SocketConnection é o da minha LAN ou o IP da maquina na internet ?


Tchelllo

Tchelllo

Curtidas 0

Respostas

Massuda

Massuda

27/04/2005

...erro na tentativa de acesso (Windows Socket Error: (10060), on API ´connect´)
10060 significa timeout... geralmente ocorre quando o IP especificado como sendo o do servidor não pode ser localizado.

...gostaria de saber se o IP que deve ser utilizado no Host do SocketConnection é o da minha LAN ou o IP da maquina na internet ?
Precisa ser um IP ´visível´ para a máquina cliente. Se a máquina cliente está na LAN junto com o servidor, seria mais eficiente usar o IP do servidor na LAN (teste no prompt do DOS usando o comando PING ip_do_servidor). Mesmo o IP estando correto, outras coisas podem impedir a conexão, como por exemplo, um firewall entre a máquina cliente e o servidor.


GOSTEI 0
Tchelllo

Tchelllo

27/04/2005

Olá Massuda

Vou explicar minha situação pra vc. Aqui na empresa, tenho conexão ADSL configurada em um servidor WinXP, com 2 placas de rede, uma ligada ao modem, e outra ligada ao HUB. No servidor tenho um proxy compartilhando a conexão que chega nesse servidor. Esse servidor tem na placa ligada ao modem, a configuração de IP automática. Já na outra ligada ao HUB, tem um IP fixo, (ex. 192.168.0.1). As demais maquinas da rede seguem a mesma numeração...apenas mudando o final. Na minha rede, tenho outro servidor com Win 2003 Server, nele é que vou instalar o servidor de aplicação. A configuração IP desse server 2003 segue a mesma das demais maquinas (192.168....)....apenas mudando o final...a minha dúvida é a seguinte: como o host do server 2003 não é ´visível´ na internet, só na minha rede local....qual o host que deve colocar no socketconnection para funcionar? ....teria de ser o IP da maquina servidora de internet?....se for, terei que deixá-la como servidora da aplicação?


GOSTEI 0
Massuda

Massuda

27/04/2005

Eu não entendi se os clientes que vão acessar seu servidor de aplicação estão na internet ou na rede local.

Na minha rede, tenho outro servidor com Win 2003 Server, nele é que vou instalar o servidor de aplicação. A configuração IP desse server 2003 segue a mesma das demais maquinas (192.168....)....apenas mudando o final...
Nessa situação, apenas os clientes que estiverem na rede local podem acessar o servidor de aplicação (essa máquina não é visível na internet). Portanto, o IP a configurar nos clientes é o dessa máquina, no caso, 192.168...

Se seus clientes estiverem na internet, a única forma deles acessarem seu servidor de aplicação é hospedar ele numa máquina visível na internet (pelo que entendi, sua máquina ligada ao modem ADSL).

Como essa máquina usa IP dinâmico, para os clientes na internet obterem seu IP é recomendável utilizar um serviço de DNS dinâmico como o oferecido pelo [url=http://www.no-ip.com/]www.no-ip.com[/url]; nesse caso, você usa o serviço de DNS para converter um endereço do tipo algumacoisa.no-ip.com em um IP.


GOSTEI 0
Tchelllo

Tchelllo

27/04/2005

Os clientes são da internet. Nesse caso, não dá certo eu utilizar um servidor como o IIS e no host do SocketConnection definir como configurado no servidor ?


GOSTEI 0
Kapak

Kapak

27/04/2005

Aproveitando o gancho, estou + na mesma enrascada.
Tenho um ServerSocket numa máquina 10.0.0.1 e vários ClientSocket em máquinas 10.0.0.(2..n). A intranet funciona perfeitamente. Quando o modem está na placa de rede da máquina 10.0.0.1, os Clients de fora se conectam ao ServerSocket pelo IP da internet normalmente.
Acontece que em uma empresa ligaram o modem no Hub e o compartilharam p/ todas as máquinas da intranet. Com isto, a máquina do ServerSocket(10.0.0.1) não consegue enxergar o IP da internet.
Alguém saberia como fazer p/ que o modem que está no Hub enviar esta conexão do Client externo p/ a máquina do ServerSocket ?


GOSTEI 0
Massuda

Massuda

27/04/2005

Os clientes são da internet. Nesse caso, não dá certo eu utilizar um servidor como o IIS e no host do SocketConnection definir como configurado no servidor ?
Não tenho experiência com IIS para poder responder.

Sei que o Socket Server utiliza uma porta própria para receber os clientes. O que você pode fazer, é instalar o socket server e seu servidor de aplicação na máquina ligada à internet ou instalar nessa máquina ligada na internet um programa como o [url=http://www.analogx.com/contents/download/network/pmapper.htm]PortMapper[/url] que pode ficar escutando a porta que seria do Socket Server e redirecionar os dados que chegam para a máquina que você está usando atualmente como servidor de aplicação.

Com relação ao IP a ser configurado nos clientes, precisa ser o IP dinâmico do seu modem ADSL e a melhor solução seria usar o DNS dinâmico que citei no meu post anterior.

Precisa verificar se tem firewall ou se o provedor do serviço de ADSL permite que você tenha um servidor ligado na internet (alguns provedores bloqueiam conexões ´entrantes´).


GOSTEI 0
Massuda

Massuda

27/04/2005

...Acontece que em uma empresa ligaram o modem no Hub e o compartilharam p/ todas as máquinas da intranet...
Não tenho muita experiência com equipamentos de rede para poder responder.


GOSTEI 0
POSTAR