Solvline PB2xxxUG User Manual
Page 86

printf ("Check Serial Type = %d (0=232, 1=422, 2=485)\n",
U_check_type (SFD));
// get Type
printf ("Check DCD signal = %d (0=OFF, 1=ON)\n",
U_check_dcd (SFD));
// get signal
printf ("H/W MAC address = ");
// get MAC address of Portbase
U_get_mac (WORK);
for (ret=0; ret<6; ret++) printf ("%02x:", WORK[ret]);
printf ("\n");
// Try to connect for 5 seconds
LFD = U_connect (SYS.dest_ip, SYS.dest_port, 5);
if (LFD == -1)
{
printf ("Dest %s(%d) connection failed\n", SYS.dest_ip, SYS.dest_port);
exit
(0);
}
while
(1)
{
/*----------< Check on received TCP socket data >----------*/
switch (ret = U_read_lan (LFD, WORK, 1024))
{
case 0 : break;
case -1 :
printf ("Socket Disconnect ...\n");
exit
(0);
default
:
U_send_port (SFD, WORK, ret);
printf ("LAN->Serial %3d bytes sending ...\n", ret);
break;
}
/*----------< Check on received serial data >----------*/
switch (ret = U_read_port(SFD, WORK, 1024, 1))
{
case 0 : break;
default
:
write (LFD, WORK, ret);
printf ("Serial->LAN %3d bytes sending ...\n", ret);
break;
}
}
}
2). User Passive Program
The program expects to be connected with only one client session that is same port number. After
connecting, sent data from TCP socket reads in serial port, and sent data from serial file descriptor
reads in connection-based (stream) socket.
/*---------------------------------------------------------------*/
struct SYS_INFO
/*---------------------------------------------------------------*/
{
86