SimpleIsBest.NET

유경상의 닷넷 블로그

닷넷의 발견: HttpListener 클래스 예제 코드

by 블로그쥔장 | 작성일자: 2007-01-09 오후 11:09:00
이 글은 오래된 전에 작성된 글입니다. 따라서 최신 버전의 기술에 알맞지 않거나 오류를 유발할 수 있습니다. 저자는 이 글에 대한 질문을 받지 않을 것입니다. 하지만 이 글이 리뉴얼 되면 이 글에 대한 질문을 하거나 토론을 할 수도 있습니다.

저는 원래 예제코드를 잘 올리지 않습니다. 뭐... 직접 코드를 작성해 보는 것이 가장 좋다고 여기고 있기 때문에 독자 여러분들이 직접 코드를 작성해 보기를 원하기 때문이지요. 그래서 대개의 경우 코드 조각만을 블로그에 직접 보여주는 정도로 마무리 하곤 합니다. 저번 HttpListener 클래스에 대한 포스트를 작성할 때도 변함없이 그렇게 했지요.

아놔... 그런데 탱옹이 이 글을 보고 예제가 없다고 피드백에 불평을 해 놓은 것으로 끝나지 않고 엊그제 신년회를 할 때도 x랄x랄 하는 것 아니겠습니까?

곰곰이 생각해 보니, HttpListener 의 경우 약간의 혼동이 올 수도 있겠다는 생각이 들었습니다. 그 글에서 보여준 코드 조각이 ASP.NET 코드의 일부인지 Console 프로그램의 일부인지 서비스인지 DLL 인지, 독자들이 알게 뭐겠습니까? 쩝.......

그래서... 며칠 전 작성한 예제를 열어서 소스 코드를 깔끔하게 정리했습니다. 그리고 여기 올립니다.

예제 코드를 올리지 않는 이유는 소스 정리가 하기 싫어서가 아니냐 라고 의심하실 분이 있으실 것 같습니다만...

맞습니다... -_-; (텨~ 텨~ 텨~)

예제 코드는 어려운 것이 없습니다. 주석도 많이 달아 놨으니 (믿거나 말거나 지만 저는 제 개인적인 예제 코드에도 주석을 많이 단답니다.) 코드를 보는데 어려움이 없으리라 생각 됩니다.

비동기 호출을 사용한 약간 더 복잡한 버전의 예제도 있습니다만... 그건 독자 여러분이 직접 작성해 보십시오. 그다지 어렵지도 않으니까요... ^^

예제 코드에 대한 지원은 물론 없습니다. 심지어 버그가 있어도 그냥 수정해서 보십시오. 제가 원래 탱옹과 더불어 저급 프로그래머이기 때문에... (버그에 대해 알려주시면 고맙지만...)

탱옹아 !!! 이젠 만족했냐? 얼른 강좌나 올려라... 놀지 말고...



Comments (read-only)
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 이방은 / 2007-01-10 오전 9:24:00
ㅋㅋ 탱옹님의 포스가 ...무서운가 보군요..@.@
잘 보겠습니다...

PS.. 아직 미혼이라서 죄송합니다..ㅡ.ㅡ^
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 컴맹 / 2007-01-10 오전 9:51:00
와~ 감사합니다.^^
그런데 저급프로그래머라뇨? -_-;
그럼 전 컴맹입니까? T_T
언제나 신기한일이지만, 이 실력에 개발하는게 정말로 기적입니다. -_-;

아뭏든 올려주신예제는 잘볼께요^^
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 블로그쥔장 / 2007-01-10 오전 10:48:00
아... 깜박 했는데... 소스 코드에 Uri Prefix를 명시할 때 workman 이란 컴퓨터 이름을
하드 코딩했는데 이 부분을 localhost 혹은 자신의 컴퓨터 이름으로 바꾸어 줘야 합니다.
XP에 IIS가 설치 되어 있는 경우를 고려해서 포트는 8080을 사용하도록 했습니다.
Windows 2003 이나 Vista의 경우 80 포트를 사용해도 되며, Windows XP에 IIS가 설치되지 않은 상황에서도
80포트를 사용해도 됩니다.
즐~ 프로그램 하세요... ^^
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 탱옹아님 / 2007-01-10 오전 10:52:00
안녕하세요? 탱옹아님입니다
일단, 탱옹님 덕분에 예제코드까지 볼 수 있어서 너무 좋았습니다.
앞으로도 촌철살인자 탱옹님의 활약을 기대해 볼께요~
홧팅. 탱옹.

이상 탱옹아님이었습니다.
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 어흥이 / 2007-01-10 오후 2:35:00
ㅋㅋㅋ 숨은글이 있네요^^
어쨌든 탱옹님 덕분에 쥔장님이 직접 구현한 예제코드까지 보게 되었군요.
탱옹님의 노고에 감사드립니다.ㅋㅋㅋ
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 블로그쥔장 / 2007-01-10 오후 3:14:00
오... 숨겨놓은 글을 최초 발견하신 분이 어흥이님 이시군요...
얌...
그나 저나 허접한 예제 코드 하나 올려놓고 너무 티내는건 아닌지... -_-;
(제가 원래 싸가지가 없어서... -_-)
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 위시 / 2007-01-10 오후 4:33:00
ㅎㅎㅎ 탱옹님 덕분에 예제코드를 보게되네요..
담에도 부탁드립니다..씨익..^0^;;
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 이방은 / 2007-01-10 오후 6:50:00
음..질문 있어요..흐흐 하지 말랬는디...
약간 번외적인 질문일지도 모르겠는데요..
예제 소스에서 Context 에 User의 Identity가 웹플젝에서 사용하는 Context의 Identity와 다른듯 싶습니다...
약간 지랄을 해 봣는데..당췌
request.IsAuthenticated 이 값을 true로 받을 수가 없네요..ㅡ.ㅠ;
제가 잘 못 이해 하고 있는 걸까용???
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 블로그쥔장 / 2007-01-10 오후 10:31:00
일단 클래스는 같습니다. 이 값을 설정하는 방식이 ASP.NET과 다를 뿐이지요.
HttpListener의 인증 설정을 NTLM 이나 Basic 인증으로 바꾸어 보십시요.
그러면 로그인 대화상자가 나타날 겁니다. 로그인을 하면... IsAuthenticated 값이 true로 바뀔거고,
Identity의 값을 사용하실 수 있습니다.
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 이방은 / 2007-01-11 오후 6:24:00
아 감사합니다..
이것 저것 바꿔 가면서 ..보고 있습니다..히히

뭔가에 요긴하게 써먹을 수 있을 것 같긴 한데..
허접한 실력이라..Feel이 잘 안오네요..
간장에 찍어 먹어야 할지..소금에 찍어 먹어야 할지..원..
#re: 닷넷의 발견: HttpListener 클래스 예제 코드 / 강희기 / 2007-07-13 오후 1:27:00
와우~ 한마디로 http서버네요~ 대단한 클래스네요...굿굿