Microsoft MVP성태의 닷넷 이야기
c# UDP socket예제 실행방법 [링크 복사], [링크+제목 복사],
조회: 16855
글쓴 사람
guest
홈페이지
첨부 파일
 

UDP socket예제를 공부하고 있습니다.
(p475)
5번이 아닌 4번환경에서 환경에서 실습하고자 합니다.
2개의 c#프로젝트를 만들고 한 프로젝트에서 serverFunc,
다른 프로젝트에서 clientFunc을 실행하게 하였습니다.

그런데 서버 프로그램은 바로 종료되고,
클라이언트 프로그램은 ClntSocket.ReceiveFrom()에서
SocketException이 발생합니다.
별도 테스트 방법이 있는것인지 문의 드립니다.








[최초 등록일: ]
[최종 수정일: 5/17/2017]


비밀번호

댓글 작성자
 



2017-05-17 09시01분
4번 환경이라면, 클라이언트와 서버를 각각 EXE로 분리해 실행하는 것인데요. 서버를 수행하는 Thread serverThread가 IsBackground = true로 되어 있기 때문에 Main 메서드를 실행하는 스레드가 종료하면 응용 프로그램 자체가 종료가 됩니다. 475 페이지의 예제에서는 이를 막기 위해 Console.ReadLine을 Main 메서드의 마지막에 호출하는 것을 볼 수 있는데 바로 그러한 이유 때문입니다.
정성태
2017-05-18 12시06분
[guest] 클라이언트와 서버 각각의 Main 맨 끝에 Console.ReadLine();을 추가하니 잘 실행되는 것을 확인했습니다.
아래 설명을 잘 해주셔서 ReadLine과 IsBackground=true에 대해 이해했습니다. 이 부분 설명이 좀 더 있었으면 이해가 좀더 빨랐을 것 같습니다.
[guest]
2017-05-18 09시25분
[guest] 답변 고맙습니다~!
[guest]

NoWriterDateCnt.TitleFile(s)