Página 1 de 1

Ayuda Con Conecciones TCP

Publicado: 09 Jun 2010, 03:53
por SincOPataS
hola a todos, Soy SincOPataS (no no tengo 5 patas, sino que un poco sicopata xD)
bueno el siguiente problema es el siguiente. estoy haciendo un Simulador de Host Web Y me esta quedando de lujo pero quize hacer un funcion de registro
y el proble en el que me encontre fue en que no sabia cuales eran las ips que se conectaban a mi "Simulador" y no pille nada en la ayuda del autoit y queria saber si esto es posible y que me lo digan ya :smt002
desde ya
Gracias.

Re: Ayuda Con Conecciones TCP

Publicado: 09 Jun 2010, 13:59
por Jonny
Hola

Para obtener la dirección IP de una conexión entrante, tienes una función en una UDF llamada "Adsl.au3", que hice hace un tiempo y colgué en el foro "Scripts". De todas formas, la función está en la ayuda de autoit, aquí te la pongo:

Código: Seleccionar todo


Func _AdslGetIpRemote($SHOCKET)
Local $Sockaddr=DLLStructCreate("short;ushort;uint;char[8]")
Local $ARet=DLLCall("Ws2_32.dll","int","getpeername","int",$SHOCKet, "ptr",DLLStructGetPtr($sockaddr),"int*",DLLStructGetSize($sockaddr))
If Not @error And $ARet[0]=0 then
$ARet=DLLCall("Ws2_32.dll","str","inet_ntoa","int",DLLStructGetData($sockaddr,3))
If Not @error then $aRet=$ARet[0]
Else
$ARet=0
EndIf
$Sockaddr=0
Return $ARet
EndFunc

Debes pasarle como argumento el handle de la conexión de la que quieras obtener la dirección IP, que obtienes con la función TCPAccept().

salu2!

Re: Ayuda Con Conecciones TCP

Publicado: 10 Jun 2010, 11:26
por Ximorro
¿La hiciste tú? ¡Anda! ¿Te refieres a sólo esa función o a la UDF?

Hum, no tengo adsl.au3 en AutoIt v3.3.0 ¿Está en la 3.3.6?

Re: Ayuda Con Conecciones TCP

Publicado: 10 Jun 2010, 13:09
por Jonny
Hola

No, no, hice la librería, la función que devuelve la dirección IP es del manual de AutoIt, que está como ejemplo por las funciones TCP (que menudo curro le dió al pobre Chefito hacer que funcionara...) jejeje, y también circula por el foro inglés en algunos scripts que manejan conexiones TCP.

No está en ninguna versión de AutoIt, porque la publiqué únicamente en este foro:

http://www.emesn.com/autoitforum/viewto ... .au3#p5248

Te doy ese link, porque no he encontrado el del primer post que puse con la librería. En ese, puse la librería actualizada. Supongo que el post original se habrá borrado porque hace ya un tiempo que lo hice.

Si quieres agregarla al AutoIt, tendrás que descargarla y añadirla al directorio includes del autoit, o ponerla con los programas que hagas...

Le llamé Adsl.au3, porque todas las funciones que tiene están relacionadas con servicios online, y fue lo primero que me vino a la mente. Hay funciones de todo tipo. Desde esta, que te devuelve la dirección IP de una conexión TCP, hasta una que te dice donde se encuentra un número de teléfono que le indiques. También tiene funciones relacionadas con el tcp/ip del ordenador, con el firewall... ¡Toda una masa de código!
que por supuesto, tiene que ver Chefito y alguno más que me hechó como no, un cable en muchas cosas.

Salu2!

Re: Ayuda Con Conecciones TCP

Publicado: 11 Jun 2010, 08:24
por Ximorro
Pues echaré un vistazo a la librería...

Pero lo que sigo sin entender es que pongas una función de tu librería... y luego digas que la ayuda está en la ayuda de AutoIT... ¿pero la función esa que pones no es de la UDF, la cual no está en AutoIt?
¿Qué es lo que hay en la ayuda de AutoIt?

Re: Ayuda Con Conecciones TCP

Publicado: 11 Jun 2010, 12:49
por Jonny
Hola

No... La función que puse más arriba, para obtener la dirección ip de una conexión, es de la ayuda de AutoIt, de la función TCPAcept() creo, que está a modo de ejemplo, aunque yo no la saqué de ahí, sinó de un hilo del foro inglés, que programaban un chat (Me enteré por aquí de que la función estaba en el manual de AutoIt) jejeje.

Yo lo que hice fue, incluirla en la UDF que hice, ya que qué yo sepa no está en ninguna UDF ni como función nativa de AutoIt.

salu2!