![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Bueno amigos, ahora estoy liado con el tema de sockets y lo veo muy complejo aunque he encontrado un escrito que me ha ayudado mucho pero no lo tengo todo lo claro que deberia para seguir.
Ya he conseguido enviar y recibir mensajes de forma sincronica pero tengo un problema, el codigo de enviar y recibir lo hago a traves de un solo boton con lo que si envio no recibo hasta que vuelvo a enviar y algun que otro problema que se me presenta por este tema. Supongo que habrá que gestionarlo con mensajes en vez de con los eventos de un boton para poder separar el envio y la recepcion pero hasta ahi he llegado. ¿alquien puede ayudarme con esto? Este es el escrito que he encontrado y en el que me he apoyado para hacer lo que tengo hasta ahora: Pinchar aquí Adjunto lo que tengo para que podais ojearlo a ver si podeis ayudarme. Me gustaria hacerlo de forma sincronica y, cuando ya lo tenga, a ver si podeis ayudarme tambien con el modo asincronico que con lo que explica el escrito no lo tengo nada claro ![]() Gracias por adelantado. ![]() |
|
#3
|
||||
|
||||
|
Bueno, despues de mucho trabajo lo hice funcionar y va genial aunque seguramente tendrá fallos que no haya visto.
Ahora estoy liado con el envio y recepcion de archivos y para eso hago esto: Para recibir: Código PHP:
Código PHP:
|
|
#4
|
||||
|
||||
|
Veo que te has puesto manos a la obra.
He estado ocupado pero en un ratito libre he preparado un ejemplo a bajo nivel con WinSock en programas de consola. Se trata de un pequeño prototipo de chat con modelo cliente servidor y protocolo TCP aceptando una sola conexión, para no liar la cosa. Dejo el código muy comentado por si más adelante te interesa el manejo a bajo nivel sin componentes: Servidor: Código PHP:
Código PHP:
Última edición por escafandra fecha: 04-10-2014 a las 18:25:44. |
|
#5
|
||||
|
||||
|
amigo ya he conseguido hacer eso pero ahora quiero enviar archivos y como en c++builder para el chat lo tengo asincronico pues no puedo ir recibiendo trozos e indicar al servidor que ya llegó para que siga ya que me los manda todos de golpe y lo mando en bloques de 1024 bytes y si pasa de 8192 bytes (8 bloques) el servidor da error al enviar y ademas al usar retval = Socket->ReceiveBuf(buffer,lenBuff); lo que obtengo es tanto la cadena que envio como flag para indicar que es un archivo lo que quiero enviar, como el contenido del archivo, todo en un bloque de 8192 y luego vuelve a entrar en el evento y me muestra el resto como mensajes de texto. ¿como hago para mandar bloques de un archivo y que el cliente lo reciba como tal y luego los una y obtenga un archivo igual que el original? Para archivos pequeños he hecho esto:
Código PHP:
|
|
#6
|
||||
|
||||
|
A ver, para archivos pequeño he hecho esto y funciona:
Código PHP:
|
|
#7
|
||||
|
||||
|
Bueno, he conseguido transferir archivos aunque no creo que sea del todo correcto lo que hago para conseguirlo
. Primero paso una mascara para indicar que es un envio de archivo y a continuacion mando una estructura donde indico el nombre del archivo, su tamaño, y el número de bloques a enviar. He colocado un Sleep para poder enviar sin perder datos por el camino. Os adjunto el fuente para que si alguien quiere mirarlo y ayudarme a mejorarlo para hacerlo funcionar correctamente pues se lo agradeceria ya que a veces se pierden bytes por el camino aunque la mayor parte de las veces llega el fichero correctamente pero otras veces se queda el receptor esperando como si faltara algun bloque por llegar.Aqui el link |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ellas y Ellos | jcarteagaf | Humor | 1 | 06-08-2011 03:43:05 |
| Llamada entre ventana usando paquetes. | PittyDelphi | OOP | 3 | 27-01-2011 12:28:37 |
| ¿Saben algo de ellos? | roman | La Taberna | 11 | 18-11-2008 18:59:07 |
| Comunicación TCP/IP entre dos programas usando componentes INDY | Roger_Delphi | Internet | 2 | 20-10-2008 14:02:49 |
| Comunicacion entre procesos | walito | Varios | 0 | 14-11-2007 21:55:53 |
|