FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Conexiones Socket TCP/IP
Hola Foro,
A ver tengo una duda tremenda, soy nuevo en la programacion con sockets, he llegado a esto debido a que un sistema que diseñe debe comunicarse con un dispositivo por medio de la red, el dispositivo no es un pc, de hecho este dispositivo envia la informacion por el RS-232 pero debido a la distancia se tuvo que transformar la señal de RS-232 a la red, ok mi gran duda es la siguiente: Yo puedo hacer un programa escuha que se encargue de recibir datos por el socket sin tener instalado un programa de envios en el dispositivo, de ser asi, los ejemplos comunes de captura de socket me servirian He estado buscando informacion al respecto pero no he podido sacer nada en claro, lo que les agradeceria si alguien tiene alguna experiencia al respecto y pueda echarme una mano sobre como empezar se lo agradecria un mundo
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#2
|
||||
|
||||
Si tu dispositivo soporta tcp/ip, se conectará a un puerto específico. Lo que tenes que hacer es poner un TidTCPserver a la escucha por ese puerto (usando INDY, por supuesto).
Para iniciarte en la programación de las INDY, podes descargarte los componentes, y las demos, desde la pagina [url=http://www.indyproject.com]Indy Project[url]. Los componentes estan bien documentados, y husmeando por el código de las demos te podes aclarar muchas cosas sobre su uso inicial. Hasta luego. |
#3
|
||||
|
||||
Pues me he pasado todo el dia metido en la internet y logre encontrar algo, es la funcion socket de la unidad winsock, ahora segun la ayuda que encontre la funcion utiliza los siguientes parametros:
Socket(PF_INET, SOCK_RAW, 0) PF_INET, SOCK_RAW: Donde se le indica que es TCP/IP y 0 que aun no entiendo bien para que se anula ese parametro el asunto es que si la funcion devuelve INVALID_SOCKET es que no logro ejecutar la llamada por alguna razon, esa es toda la informacion que logre sacar en claro de la ayuda que me enviaron y la de delphi, recuerden que hay muchos conceptos nuevos para mi
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#4
|
||||
|
||||
Un pequeño desliz se me olvido decir que trabajo con Delphi 5
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#5
|
||||
|
||||
Y porque no usar componentes que ya encapsulen un socket-server, como el sugerido de las INDY?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
Si lo voy a usar, lo unico era que no sabia que indy funcionaba para delphi 5 crei que partian de las 6 ya estoy instalandolo luego les comento como van
Gracias Jachguate por ayudar
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#7
|
||||
|
||||
Los pongo al tanto de los avances, encontre un manual buenisimo(por supuesto muy basico) de las indy en español
TCP-IP con Indy
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#8
|
||||
|
||||
Ok sigo avanzando pero ya me pare, con respecto al TIdTCPSErver asumo que no hay que colocarle direccion porq el siempre va a estar a la escucha de un puerto no de una direccion???
y tambien supongo que este puerto se le asigna en default port. Otra cosa, he tratado de enviar mensajes por el puerto pero le doy BeginWork, ahora donde esta el read o el write???, no entiendo esa parte, por lo poco que he leido he sacado estas dudas en claro
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#9
|
||||
|
||||
Te sugiero que "jugues" un poco con las demos. La del chat puede aclararte bastante...
Por lo pronto puedo decirte que el Server estará a la escucha de un puerto en particular, y via eventos te notifica cuando algun dato llega "a la puerta". Para ponerlo a la escucha, haces active := true, y listo. Luego, usas los métodos Read* (ReadLn, ReadInteger, ReadStream, etc) para leer lo que va llegando de acuerdo al formato esperado. Hasta luego. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#10
|
||||
|
||||
Mi consejo es que también mires OnAfterCommandHandler, OnBeforeCommandHandler, y los CommandHandler, este úlitmo sobre todo, pues a mí me resulta, por lo menos, muy útil.
__________________
:) |
|
|
|