"프로그램 세계" 잡지에서 많은 것을 배우게 되는군요. 서버 측 소켓 프로그래밍의 정수라고 할 수 있는 I/O Completion Port 기법을 배웠습니다. 더구나, ATL Service도 알고만 있다가 "프로그램 세계"에 나와서 한 번 더 공부를 했지요. 둘을 합쳐 보았습니다. 이 예제에는 "NT 서비스"로 동작하면서 IOCP를 수행하는 Echo 서버 예제를 구현했습니다. IOCP ... 상당히 편리하면서도 막강한 능력을 제시하는군요. 예제 테스트는 우선, 컴파일을 한 후, C:>chatservice /service를 실행하고, C:>net start chatservice라고 하면 서비스로서 동작이 됩니다. 그다음 C:>telnet localhost 3000라고 TELNET으로 확인을 하면 됩니다. 이때, TELNET을 여러 개 실행시킨 후 하나의 텔넷에서 키를 누르면 다른 TELNET 프로세스에도 그 값이 전송이 되어짐을 확인할 수 있습니다. 원래는 Chatting Server를 만들려고 했는데요. 시간이 없네요. 가능성만 남겨두고 다음을 기약해야겠습니다. ^.^
/*
c:\temp> telnet dict.org 2628
220 dict.dict.org dictd 1.12.1/rf on Linux 4.19.0-10-amd64 <auth.mime> <57789141.25737.1629124315@dict.dict.org>
DEFINE fd-eng-lat top
150 1 definitions retrieved
151 "top" fd-eng-lat "English-Latin FreeDict Dictionary ver. 0.1.2"
top /toup/
culmen
.
250 ok [d/m/c = 1/0/10; 0.000r 0.000u 0.000s]
DEFINE eng-lat my
550 invalid database, use SHOW DB for list
quit
221 bye [d/m/c = 0/0/0; 2.000r 0.000u 0.000s]
Connection to host lost.
c:\temp>
*/