Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comunicacion entre programas (https://www.clubdelphi.com/foros/showthread.php?t=52985)

totote 06-02-2008 21:58:09

Comunicacion entre programas
 
Hola foro!!!

Ando en busca de materia que explique como hacer un programa que se comunique con otro via red, tenia ganas de aprender pero no encuentro casi nada, que me explique, en pricipio queria hacer algo que mande un texto de un lado y mostrarlo del otro, se puede, como lo tengo que buscar.

:confused: Saludos.

luisgutierrezb 06-02-2008 22:17:26

el mismo delphi tiene un demo de chat, buscalo en el directorio de demos

totote 06-02-2008 22:26:08

el 2007 creo que no los trae, yo los estube buscando pero no encontre nada

cHackAll 06-02-2008 22:32:20

Cita:

Empezado por totote (Mensaje 263889)
Hola foro!!!

Ando en busca de materia que explique como hacer un programa que se comunique con otro via red, tenia ganas de aprender pero no encuentro casi nada, que me explique, en pricipio queria hacer algo que mande un texto de un lado y mostrarlo del otro, se puede, como lo tengo que buscar.

:confused: Saludos.

La opcion óptima es utilizar Sockets... para aprender acerca de ello busca en el foro dicha palabra.

Para variar te dare un ejemplo usando MailSlots;

Equipo1 (servidor):
Código Delphi [-]
uses SysUtils, Windows; {$apptype console}
 
var
 Handle, Dummy: Cardinal;
 Buffer: array [0..399] of Char;
 
begin
 SetConsoleTitle('Esperando un nuevo mensaje de algún equipo...');
 Handle := CreateMailslot('\\.\mailslot\prueba', 0, MAILSLOT_WAIT_FOREVER, nil);
 ReadFile(Handle, Buffer, SizeOf(Buffer), Dummy, nil);
 CloseHandle(Handle);
 
 WriteLn(string(@Buffer));
 ReadLn;
end.

Equipo2 (cliente):
Código Delphi [-]
uses SysUtils, Windows; {$apptype console}
 
var
 Handle: Integer;
 Line: string;
 
begin
 Write('Ingrese el mensaje a ser "difundido": ');
 ReadLn(Line);
 
 Handle := _lopen('\\*\mailslot\prueba', OF_WRITE);
 _lwrite(Handle, @Line[1], Length(Line));
 CloseHandle(Handle);
end.

El ejemplo anterior hace broadcast (envia a todos los equipos de la LAN), el mensaje. Son aplicaciones de consola. Pero te dará una idea de cómo enviar mensajes.

Si deseas enviar a un equipo determinado; reemplaza el asterisco por el nombre del equipo.

Saludos

Edito: Es mi impresión o este hilo debería estar en Redes

totote 07-02-2008 00:11:57

jeje se me paso perdon :P

Neftali [Germán.Estévez] 07-02-2008 10:40:29

Un par de ejemplos sencillos, aunque si buscas por internet encontrarás hasta para empapelar las paredes.


Ejemplo 1
http://www.marcocantu.com/code/md6htm/Client1.htm
http://www.marcocantu.com/code/md6htm/Server1.htm

Ejemplo 2
http://www.marcocantu.com/code/md6htm/Client2.htm
http://www.marcocantu.com/code/md6htm/Server2.htm


La franja horaria es GMT +2. Ahora son las 07:06:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi