FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
Ya generé ambos ejemplos, el cliente y el server, pero no pasa nada... Inicio primero el Server y luego el cliente, hago clic en el Button1 y nada.... Inicio primero el Cliente y luego el Server, hago clic en el Button1 y nada.... Mi LAN es 192.168.14.xxx y la funcion GetBrodcastAddress; está devolviendo correctamente 192.168.14.255 Probé otros Port y nada... que puede ser ?
__________________
Gracias de antemano por vuestra ayuda. ·.:*:.·Yako·.:*:.· |
#2
|
||||
|
||||
Posiblemente dependa de la versión del delphi que uses.
La versión Cliente que he probado con delphi7 y Berlin es esta:
Ten en cuenta que el UNICODE juega malas pasadas. Subo un proyecto con fuentes y ejecutables compilados. Última edición por escafandra fecha: 13-04-2017 a las 19:13:11. |
#3
|
|||
|
|||
Excelente aporte Escafandra!!!
|
#4
|
|||
|
|||
Escafandra, te hago el siguiente planteo que difiere del expuesto hasta ahora.
Yo tengo actualmente un programa que actúa como servidor usando TServerSocket en modo nonblocking que envía cada 2 segundos registros con el método SendBuf a cada uno de los clientes (TClientSocket) que se hayan conectado. El tamaño de cada paquete comprimido puede ser algo mas de 8k. Como suelen ser varias pc's clientes, esto genera bastante trabajo del lado servidor que ademas tiene que ir recolectando y haciendo muchos calculos, luego volcar la información a sus respectivos registros, comprimirlos y luego enviar a cada cliente. Si esto quisiera hacerlo con UDP, como debería ser ya que de este modo haría un solo envío? Gracias. |
#5
|
||||
|
||||
Cita:
2. Si quieres hacer un solo envío de un paquete vía Broadcast, debes hacerlo como en el ejemplo que público. Un sólo envio a la dirección Broadcast previamente calculada desde el servidor. El ejemplo permite varios servidores y varios clientes sin cambiar el código, pero si quieres que los servidores envíen puedes establecer un bucle de comunicación o simplemente implementar el procedimiento SendUDP en cada uno. Esto requiere que cada cliente tenga un rhread a la 3scucha, es decir, también son servidores. Si las maquinas van a ser distintas no es preciso usar SO_REUSEADDR. Ten en cuenta que todas las app pueden ser clientes y servidores a un tiempo si quieres y que en UDP no precisas una conexión previa lo que es bueno por una parte pero no asegura que el paquete sea recibido. Saludos |
#6
|
|||
|
|||
Y como se puede lidiar con paquetes que no llegan o cuando se fragmenta en mas de uno?
|
#7
|
||||
|
||||
Cita:
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dos instancias de SQL Server parecen ser la misma | Faust | MS SQL Server | 2 | 21-10-2011 23:13:07 |
¿Cómo usar mutex e impedir dos instancias de la misma app? | Blaster | OOP | 1 | 11-08-2008 04:05:29 |
Cuantas instancias de nuestro exe están corriendo | seoane | Trucos | 3 | 06-03-2007 01:58:41 |
Compartir "objetos" entre varias instancias | mafebresv | Varios | 4 | 16-01-2006 23:38:23 |
Como evitar 2 instancias de una misma ventana hija | edgusano | .NET | 5 | 12-12-2005 16:40:40 |
|