3 * Copyright (C) 2005 ReactOS Team
5 * LICENCE: GPL - See COPYING in the top level directory
6 * PROJECT: ReactOS simple TCP/IP services
7 * FILE: apps/utils/net/tcpsvcs/daytime.c
8 * PURPOSE: Provide CharGen, Daytime, Discard, Echo, and Qotd services
9 * PROGRAMMERS: Ged Murphy (gedmurphy@gmail.com)
17 DWORD WINAPI
DaytimeHandler(VOID
* Sock_
)
23 SOCKET Sock
= (SOCKET
)Sock_
;
26 newtime
= localtime(&aclock
);
27 pszTime
= _tasctime(newtime
);
29 SendTime(Sock
, pszTime
);
31 LogEvent(_T("DayTime: Shutting connection down...\n"), 0, FALSE
);
32 if (ShutdownConnection(Sock
, FALSE
))
33 LogEvent(_T("DayTime: Connection is down.\n"), 0, FALSE
);
36 LogEvent(_T("DayTime: Connection shutdown failed\n"), 0, FALSE
);
40 LogEvent(_T("DayTime: Terminating thread\n"), 0, FALSE
);
45 BOOL
SendTime(SOCKET Sock
, TCHAR
*time
)
47 INT StringSize
= (INT
)_tcsclen(time
);
48 INT RetVal
= send(Sock
, time
, sizeof(TCHAR
) * StringSize
, 0);
50 if (RetVal
== SOCKET_ERROR
)
53 LogEvent(_T("DayTime: Connection closed by peer.\n"), 0, FALSE
);