![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
| Ver Resultados de Encuesta: Crear componentes exclusivos miembros Premium | |||
| Sí |
|
18 | 90,00% |
| No |
|
2 | 10,00% |
| Votantes: 20. Tú no puedes votar en esta encuesta | |||
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Bueno julian, y que características piensas que puedan tener esos componentes ???. Yo me imagino uno que haga de servidor, y que tenga un solo método "listen" que dispare un thread que se ponga a la escucha en un puerto para realizar la transferencia, el método listen devuelve el puerto por el que esta escuchando. El cliente por su parte tendrá solo método "send" que envío un fichero a un puerto especifico.
Por ejemplo para realizar una transferencia, el que actúe como servidor ejecutara el método listen y el numero de puerto que le devuelva se lo pasa al cliente, el cliente por su parte usara el método send. Lo que falta es saber como mandara el servidor la información del puerto al cliente, pues si se supone que es un accesorio de un chat, ya debe de existir una conexión entre los dos, así que se puede utilizar esa. Me da la sensación de que no me he explicado muy bien |
|
#2
|
||||
|
||||
|
Hola,
A ver, ponersus de acuerdo. ![]() PD. Pero está bien, está bien. ![]() |
|
#3
|
||||
|
||||
|
Vamos a ver Julian, un primer esbozo podría ser esto:
Son dos clases descendientes de la clase TThread. Solo utilizo funciones del Winsock, nada de librerias. Y un ejemplo de como usarla seria el siguiente: - Uno de los usuarios del chat decide mandar un archivo a otro, así que le manda un mensaje pidiéndole permiso. - El otro crea una instancia del TFileReceive y le devuelve un mensaje con el numero de puerto y un código de seguridad (token) - Ahora el primero crea una instancia del TFileSender, usando el puerto y el token que acaba de recibir, y envía el archivo. Esto llevado a código: El receptor y el emisor solo se tienen que poner de acuerdo en el puerto y el token, si el emisor y el receptor ya mantienen una conexión de chat no sera difícil implementar un protocolo para hacer eso. Bueno, son las 3 AM y esto es todo lo que se me ocurre ![]() Espero que se me entienda. Última edición por seoane fecha: 30-09-2007 a las 03:27:12. |
|
#4
|
||||
|
||||
|
Jau!
tengo muy poco tiempo estos días, mas que poco ninguno,por eso no he podido poner esto antes: icsChatComponents Ahí van los componentes para tener un servidor y cliete chat, con el código fuente y una demo. Mi consejo es que, a quien le interese el tema, pruebe la demo antes que nada. Y despues que se ponga a mirar el código chapucerillo, jeje. Para probar la demo no hay mas que ejecutarla, y activar el servidor, y despues si activa el cliente se conecta al server. Despues puede ejecutar otra instancia del programa y conectarse al mismo server ( Con otro Nick para que no de error, claro!!) Gueno, ya me direis, un saludo! Lo olvidava: para instalar los componentres se necesitan los ICS de Fpiette.
__________________
"la única iglesia que ilumina es la que arde" Anonimo Última edición por Julián fecha: 02-10-2007 a las 17:54:59. |
|
#5
|
||||
|
||||
|
Hola,
Está muy bien Julián. La "demo" por lo menos funciona estupendamente. ![]() |
|
#6
|
||||
|
||||
|
Jau!
Pues si, si miras el código encontraras unas cosas bastante retorcidas en los procesos de conexión y validación de clientes al servidor de chat, y sé que dicho código es en teoría, merecedor de un buen suspenso en un éxamen de programación en una universidad. Perooooooo... el hecho cierto y comprobado es que funciona, cmo tu dices, bien. ¿y como me atrevo a afirmar eso? Ahí vá: el desarrollo de ese código tuvo duras pruebas que superar. Era para el ajedrezchat, que se usaba, y se sigue usando, en los canales #delphi y #ajedrez del irc-hispano, y en esa epoca había 3 o 4 hijosdelagranputa que se dedicaban a sabotear y a putear a los usuarios de estos canales, y en concreto al ajedrezchat. De manera que yo sacaba una versión del programa, lo daba a probar, y automáticamente, ahí tenias a esos 4 cabrones conectandose por telnet y por ssh a cualquier ajedrezchat que se pusiera de server. Incluso se hacian programillas con un botón "Conectar un socket al ajedrezchat" el cual pulsaban rapida y repetidamente hasta que reventaban literalmente cualquier ajederzchat de servidor. Un infierno. Pero yo soy muy cabezón. Y el resultado será un código muy remendao, pero, despues de perder alguna batalla, gané la guerra. Con un par. No dudo que algún experto programador o hacrker o lo sea sea capaz, incluso fácilmente, de tumbarme un server de ajedrezchat. Pero aquellos cuatro hackercillos de pacotilla no pudieron, tuvieron que rendirse, humillados y derrotados, y agachar su vacía cabeza y retirarse avergonzados. Así que, algún experto podrá criticar, con gran razón, mi código, y yo se lo agradeceré (aún mas le agradecería que lo arreglara). Pero el hecho, el hecho cierto, es que funcionar, funciona, y muy bien. Y eso es lo que yo pretendía. Por cierto, que estuve probando con los INDY, antes que los ICS, pero toido lo que conseguía era tremendamente vulnerable a cualquier ataque, aunque fuera un pequeño 'flood'. Por eso tuve que volverme a los ICS. Un saludo!
__________________
"la única iglesia que ilumina es la que arde" Anonimo |
|
#7
|
|||
|
|||
|
Hola!
Tengo un componente basado en el código de la UIApp de Román, aprovecho para subirlo y lo usen en los componentes Club Delphi, claro siempre y cuando Román no ponga ningún pero al regresar... ![]() No soy bueno poniendo comentarios y hay libertad absoluta para modificar los que ya vienen en el código fuente (sobre todo la noticia inicial )... ![]() El zip contiene el código fuente y las imagenes para usar en la paleta de componentes... Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ¿RSS del Club Delphi? | K-ba | La Taberna | 5 | 30-07-2007 22:17:40 |
|