Por empezar tenés que decidir que protocolo vas a usar para comunicarte. Si no pensás mandar datagramas muy grandes y sólo lo necesitas para la comunicación entre las máquinas, como por ejemplo cuando una se apague notifcar a las demás, te conviene usar el protocolo UDP.
Después tenés que crear un diagrama con la estructura de tu red. Por ejemplo:
------------------------------
______ ______ ______
| T1 | | T2 | | T3 |
|____| |____| |____|
|__________|___________|
|
Terminales virtuales
conectadas por medio de
sockets. Cada terminal
reside en una máquina y
espera datos en el mismo
puerto
-------------------------------
Una vez que creaste un diagrama de la red hay que decidir cómo cada terminal reconocerá la fuente de cada datagrama, es decir, qué terminal lo mandó. Para eso podrías crear un tipo definido por el usuario que sería como un encabezado que tendría cada datagrama, algo como esto:
Type MiDatagrama
Size As String * 2 'Tamaño de la estructura. Sería LenB(MiDatagrama)
SourceHostName As String * 16 'Nombre del host que manda el datagrama.
TargetHostName As String * 16 'Nombre del host de destino
Message As String * 4 'Mensaje que se le manda al host de destino
'Tamaño de los datos del datagrama, sin incluir el encabezado.
DataLength As String * 4
End Type
Entonces en ca