"프로그램 세계" 잡지에서 많은 것을 배우게 되는군요. 서버 측 소켓 프로그래밍의 정수라고 할 수 있는 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>
*/
No | Writer | Date | Cnt. | Title | File(s) |
69 | 정성태 | 10/27/2006 | 4524 | .NET : 1. Typed DataSet 에서의 ExcludeSchema 사용 | |
68 | 정성태 | 1/27/2007 | 5024 | Vista : 2. Elevate through ShellExecute | |
67 | 정성태 | 10/22/2006 | 4219 | Vista : 1. Programmatically determine if an application requires elevation | |
66 | 정성태 | 9/22/2006 | 4133 | Tip/Trick: UpdateProgress Control and AJAX Activity Image Animations | |
65 | 정성태 | 9/15/2006 | 9416 | Tip/Trick: Enabling Back/Forward-Button Support for ASP.NET AJAX UpdatePanel | |
64 | 정성태 | 2/23/2007 | 4346 | Why are NameValueCollection lookups slower than Hashtable? [Kim Hamilton] | |
63 | 정성태 | 8/30/2006 | 4229 | WinFormResizer for .NET 2.0, v.2.0.0020.3 Released! | |
62 | 정성태 | 8/21/2006 | 4040 | Stylistic differences in using | |
61 | 정성태 | 8/5/2006 | 4228 | Detecting Information Card Support (CardSpace!) in a browser | |
60 | 정성태 | 7/22/2006 | 4000 | JonGallant WebControls v1.0 - ScrollableContainer | |
59 | 정성태 | 3/2/2006 | 5294 | .NET이 왜 성공할 수밖에 없는가? | |
58 | 정성태 | 10/5/2005 | 5094 | 한국 MSDN - 홈지기가 번역한 MSDN Magazine 자료 | |
57 | 정성태 | 5/5/2005 | 4500 | 구구단 프로그램을 제외하고, 벤더종속적이지 않은 프로그래밍 언어가 있나요? | |
53 | 정성태 | 3/4/2005 | 5812 | [마소 연재 기사: 2004-05] 특집 X-Inernet : 닷넷 스마트 클라이언트 [4] | 1 |
52 | 정성태 | 3/4/2005 | 6070 | [마소 연재 기사: 2004-04] 실전!강의실 - IE에서 닷넷 스마트 클라이언트 개발 3 | 1 |
51 | 정성태 | 3/4/2005 | 6403 | [마소 연재 기사: 2004-03] 실전!강의실 - IE에서 닷넷 스마트 클라이언트 개발 2 | 1 |
55 | 정성태 | 3/30/2005 | 4859 | [추가] 기본 보안만으로 구현하는 스마트 클라이언트 이벤트 구현 | |
50 | 정성태 | 3/4/2005 | 8450 | [마소 연재 기사: 2004-02] 실전!강의실 - IE에서 닷넷 스마트 클라이언트 개발 1 [3] | 1 |
49 | 정성태 | 9/7/2006 | 7669 | RSA 공개키/개인키 암호화, DES 암호화, MD5 단방향 해시 암호화 클래스 (C#) 2002.09.25 | 1 |
48 | 정성태 | 7/17/2003 | 5596 | C# 으로 만든 Base64 인코딩/디코딩 클래스 (C#) 2002.09.24 | 1 |
47 | 정성태 | 7/17/2003 | 4540 | C# 으로 만든 DLL 을 Managed C++ 에서 이용하는 예제 (C#, Managed C++) 2002.08.01 | 1 |
46 | 정성태 | 7/17/2003 | 4694 | .NET으로 만든 COM+ 객체를 HTML에서 사용 (C#, COM+) 2002.06.10 | 1 |
45 | 정성태 | 7/17/2003 | 4854 | COM+ 객체 원격 접근예제 (VC 6.0, ATL, COM+) 2002.05.31 | 1 |
44 | 정성태 | 7/17/2003 | 4793 | Win32 API Hook (VC 6.0, ATL) 2002.05.12 | 1 |
54 | 정성태 | 3/21/2005 | 4323 | [추가]: 최근 나온 소개된 관련 기사 | 2 |
43 | 정성태 | 7/17/2003 | 5743 | 탐색기 Namespace Extension 컨테이너 (VC 6.0, ATL) 2002.03.24 | 1 |