#include "unpxti.h"
#include <time.h>
int
main(int argc, char **argv)
{
int tfd, flags;
char buff[MAXLINE];
time_t ticks;
struct t_unitdata *tud;
if (argc == 2)
tfd = Udp_server(NULL, argv[1], NULL);
else if (argc == 3)
tfd = Udp_server(argv[1], argv[2], NULL);
else
err_quit("usage: daytimeudpsrv [ <host> ] <service or port>");
tud = T_alloc(tfd, T_UNITDATA, T_ADDR);
for ( ; ; ) {
tud->udata.maxlen = MAXLINE;
tud->udata.buf = buff;
if (t_rcvudata(tfd, tud, &flags) == 0) {
printf("datagram from %s\n", Xti_ntop(&tud->addr));
ticks = time(NULL);
snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks));
tud->udata.len = strlen(buff);
T_sndudata(tfd, tud);
} else if (t_errno == TLOOK)
T_rcvuderr(tfd, NULL); /* just clear error */
else
err_xti("t_rcvudata error");
}
}
syntax highlighted by Code2HTML, v. 0.9.1