Página 1 de 1

conexão remota

Enviado: 11 Dez 2012 11:18
por clebervn
localmente eu uma conexão a banco firebird eu faço assim :

ConnString := "FIREBIRD=127.0.0.1:C:\TESTE\DATABASE.GDB;uid=......"
nCnn := SR_AddConnection(CONNECT_FIREBIRD, ConnString)

tudo ok.

E remotamente, num servidor como ficaria ???
por exemplo, estando o banco no c:\teste de um ip. 192.168.0.10 ??

tem q ter mapeamento ??

conexão remota

Enviado: 18 Dez 2012 01:21
por rochinha
Amiguinho,

Por padrão as placas de rede recebem numeros iniciando em 169.xxx.xxx.xxx. Quando conectados a um roteador, o DHCP fornece numeros de IP iniciando em 192.xxx.xxx.xxx.

O endereço 127.0.0.1 é um endereço interno disponibilizado por servidores como Apache, IIS, etc.

A sua string já possui característica de acesso remoto, ou seja, esta especificando o IP do servidor.

Para que seu IP seja visto, não por sua rede interna mas sim por um computador na internet é necessário que a string de conecção possua o IP de internet. O mesmo pode ser visualizado quando voce digita no Prompt do DOS, o comando ipconfig.

Para que o IP do seu servidor seja visivel pela maquina remota é necessário que configure, em seu roteador, o recurso DMZ, fazendo com que o mesmo aponte qualquer requisição lançada para o IP do servidor para o IP interno do mesmo.

Exemplo:

- Seu IP de internet é 189.200.122.120
- Seu IP de interno é 192.168.0.110

O recurso DMZ(DesMilitarized Zone ou Zona Livre) deverá apontar qualquer coisa que chegue em 189.200.122.120 para 192.168.0.110, lembrando-se que as portas destes IP referentes ao servidor Firebird deverá estar liberada pelo Firewall.

conexão remota

Enviado: 20 Dez 2012 08:56
por rossine
Bom dia pessoal,

Tenho uma função aqui para retornar o IP externo. Segue abaixo o código:

Código: Selecionar todos


******************
function IpExterno
******************

local cBuffer, cRequest, cResponse, nBytes, pSocket

HB_INetInit()

pSocket := HB_INetcreate( 3 ) // cria socket com 3 segundos de timeout

pSocket := HB_INetConnect( "checkip.dyndns.org", 80 ) && , pSocket )

if HB_INetErrorCode( pSocket ) <> 0
         msgstop( "Socket error:" + sl_tostring( HB_INetErrorDesc( pSocket ) ) )
         HB_INetCleanUp()
         return "ERRO"
endif

nBytes    := HB_INetSend( pSocket, "GET / HTTP/1.1" + CRLF + "Host: checkip.dyndns.org" + CRLF + "User-Agent: HTTP-Test-Program" + CRLF + CRLF )
cBuffer   := space(512)
cResponse := ""

do while nBytes > 0
   nBytes    := HB_INetRecv( pSocket, @cBuffer )
   cResponse += left( cBuffer, nBytes )
   cBuffer   := space(512)
enddo

HB_INetClose( pSocket )

HB_INetCleanUp()

return allTrim( substr( substr( cResponse, rat( "<body>", cResponse ) + 26 ), 1, At( "<", substr( cResponse, rat( "<body>", cResponse ) + 26 ) ) - 1 ) )

Espero que possa lhe ser útil.

T+

Rossine.