Microsoft MVP성태의 닷넷 이야기
smart client에서의 Socket 함수 사용 [링크 복사], [링크+제목 복사],
조회: 10558
글쓴 사람
김재옥 (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

... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...
NoWriterDateCnt.TitleFile(s)
5157김경훈5/8/201917314Task 만들때 넘겨주는 CancellationToken은 어디서 사용 되는 건가요? [4]
5156rysoo5/8/201915882yield return의 리턴 타입 질문 드립니다. [4]
5155세퉁5/7/201918278관리자 권한으로 실행 시 알림창(?) 없이 바로 실행 시킬 수 있는 방법이 있을까요?? [2]파일 다운로드1
5154Soul...5/4/201914182NamedPipe 질문드립니다. [2]
5153개태5/4/201915239WCF RESTful Service에서 enum을 parameter로 쓰는방법 [2]
5152세퉁5/3/201916284인터넷 시간을 불러와 pc에 적용 시키고 싶습니다. [3]파일 다운로드1
5151이대희5/3/201913753C# 7.3으로 개정판 출간 계획이 있으신가요? [1]
5150김이현5/2/201915890C# 딕셔너리 생성에 대해 질문드립니다. [1]
5149민성5/1/201913953ftp 이미지 업로드중 [1]
5148wpf질문4/30/201914233특정 사이트를 wpf에서 popup을 항상 허용하게 할려면 어떻게 해야할까요? [5]
5147민성4/30/201913020wpf에서 작업관리자를 띠울려면 어떻게 해야 하나요? [1]
5146불파겐4/25/201913070하나의 필드를 여러 스레드에서 읽어갈 때 스레드 동기화를 하지 않으면 문제가 생길까요? [2]
5145e구름4/17/201916532Properties.Setting.Default값에 대해 질문드립니다. [2]
5144성태님 ...4/17/201913521질문하시기 전에 10000 페이지 오류 납니다. [1]
5143헌이4/16/201914601윈도우 작업표시줄에 프로그램 띄우기 [2]파일 다운로드1
5142cab2...4/9/201920588C#으로 만든 DLL 배포하기 [10]
5141하늘사랑4/5/201915289Axinterop 래퍼에 관해서 질문드립니다. [7]
5140게스트4/1/201914618안녕하세요. 초보 개발자입니다. SD리더기에서 SD카드를 꽂으면 발생하는 이벤트 문의 [2]
5139김이현3/28/201917884C#에서 CRON 같은 스케줄러를 사용하려면 어떻게 해야 하나요? [3]
5138김지원3/22/201915287유니티 쉐이더에서 오로지 포워드 애드 패스로만 만들 수 있을까요? [1]
5137세퉁3/22/201916965wpf 쓰레드에 대해 질문 있습니다. [4]
5136KGY3/13/201913846안녕하세요 닷넷코어 콘솔 프로그램 관련 질문입니다. [1]
5135러쎌3/13/201914308ASP.NET 공부 관련해서 문의를 드립니다. [1]
5134이정호3/12/201913324SampleProfiler 예제를 이용한 Class 객체의 접근 문의 [1]파일 다운로드1
5133ㅇㅇ3/12/201914392멀티코어사용 방법에 궁금한것이 있습니다. [3]
5132존기미3/3/201914596Physical Disk Access문의 [1]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...