Microsoft MVP성태의 닷넷 이야기
smart client에서의 Socket 함수 사용 [링크 복사], [링크+제목 복사],
조회: 11739
글쓴 사람
김재옥 (mainroot at gmail.com)
홈페이지
첨부 파일
 

안녕하세요.
Smart Client 에서의 Socket 통신과 관련하여.... 궁금한 점이 있어서 글을 쓰게 되었습니다.

저는 UserControl 에서 Socket Send/Recv를 할려고 합니다.
UserControl 을 Winform 에 올려 놓고 Send / Recv 를 할때는 이상없이 받아지는 것을 확인 했습니다.

근데 Webform(IE에서 실행)에 올려 놓고 쓸때 이상한 현상이 발견 되었습니다.
UserControl에서 Send 를 할때는 문제는 없으나... ( Server에서 Send 메세지가 즉각적으로 받아 집니다.)
Recv 메세지는 한참을 기다린 후(Send 후... 2~3분 소요후...) 받아집니다.( 맨 처음에만 2~3분이 소요되고.. 1번 Recv를 받은 후에는 즉각적으로 Recv를 받을 수 있습니다.)

단지 UserControl에서 Socket Send/Recv가 이루어 지는 것인데....
Winform 에서는 Recv가 즉각적으로 이루어 지는 반면... Webform에서는 Recv가 즉각적으로 이루어 지지 않고(2~3분 소요)...
1번 Recv가 성공하고 나면... 다음 Recv 메세지는 즉각적으로 잘 받는것이 궁금해서 글을 올립니다.

혹시... 해결 방법이 있으시면 알려 주시기 바랍니다.

글 읽어 주셔서 감사합니다.

수고하세요.

참고 : 저는 UserControl에서 Client 기능을 구현했습니다. Recv는 별도의 스레드에서 받게 되어 있습니다.
그리고 또하나 이상했던 점은요...
----------------------------------------------------------------------------------------------------------
const string strAddress = "127.0.0.1";
const int     nPort        = 30001;
            
IPAddress    serverIP        = IPAddress.Parse( strAddress );
IPEndPoint    serverEndPoint    = new IPEndPoint( serverIP, nPort );

m_sock = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
m_sock.Connect( serverEndPoint );
----------------------------------------------------------------------------------------------------------
위와 같이 코딩했을 시... Connect함수에서 한참동안 Block되는것을 보았습니다.
Block이 풀리고 난뒤... send/recv에는 전혀 지장 없고요. ㅡㅜ








[최초 등록일: ]
[최종 수정일: 10/6/2005]


비밀번호

댓글 작성자
 



2005-10-09 12시35분
예전에... 경험했던 것 같기도 하고.... ^^;
가물 가물 하네요. 일단, .NET 1.1 SP1 을 설치하셨는지?

저희가 스마트 클라이언트를 가이드하면서 소켓과 관련된 문제는 거의 없었던 것 같습니다. 기본적으로 DB 접근을 웹 서비스를 통해서 하는데, 웹 서비스 호출 자체가 소켓 구현을 포함하고 있기 때문이죠.
techsharer

... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
407김용국6/21/200613210                답변글 [답변]: 다시한번 문의드립니다!
398김성호6/17/200613822IE프로그래밍 관련하여 질문이
400정성태6/19/200613574    답변글 [답변]: IE프로그래밍 관련하여 질문이 [5]
396guest6/13/200613366CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다.
397정성태6/15/200612903    답변글 [답변]: CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다.
399guest6/19/200612458        답변글 [답변]: [답변]: CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다.
392이상식6/9/200613298스마트클라이언트 실행환경 관련 질문입니다.
394정성태6/12/200613198    답변글 [답변]: 스마트클라이언트 실행 환경 관련 질문입니다.
395이상식6/12/200613486        답변글 [답변]: [답변]: 스마트클라이언트 실행환경 관련 질문입니다.
391심현철6/9/200613441Win32 platform과 .NET platform간의 성능이 어느정도 차이가 날까요?
393정성태6/12/200613184    답변글 [답변]: Win32 platform과 .NET platform간의 성능이 어느정도 차이가 날까요?
390이현행6/6/200613378정말 답답해서 그렇습니다. [1]
389임경훈6/2/200623250sql과 oracle 사용시 파라메타 차이점
387창민 6/1/200615182안녕하세요.문제가 걸렸는데 해결기미가 안보여서 답답해서.. 혹시 아시면 문제 채질이라도...파일 다운로드1
388정성태6/1/200614780    답변글 [답변]: 안녕하세요.문제가 걸렸는데 해결기미가 안보여서 답답해서.. 혹시 아시면 문제 채질이라도...
385오윤섭5/31/200612431SmartClient 동적호출
386정성태6/1/200612928    답변글 [답변]: SmartClient 동적 호출
380윤용한5/29/200612937ATL Event에서 스크립트가 값을 다시 돌려주는 방법은?파일 다운로드1
381윤용한5/29/200612692    답변글 [답변]: ATL Event에서 스크립트가 값을 다시 돌려주는 방법은?
382윤용한5/29/200613213        답변글 [답변]: [답변]: ATL Event에서 스크립트가 값을 다시 돌려주는 방법은?
383정성태5/30/200613547            답변글 [답변]: [답변]: [답변]: ATL Event에서 스크립트가 값을 다시 돌려주는 방법은?
378guest5/26/200612958managed 와 unmanaged 의 차이가 뭐져?
379정성태5/26/200613231    답변글 [답변]: managed 와 unmanaged 의 차이가 뭐져? [1]
384guest5/30/200612826        답변글 감사합니다.
376노기도5/16/200613022vb6의 GetObjectContext 를 2005에서는 어떻게 사용해야 하나요? [3]
375이덕희5/15/200615187SmartClient 강좌를 보고... 엑박이 나옵니다... [2]파일 다운로드1
... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...