Microsoft MVP성태의 닷넷 이야기
채팅 프로그램관련 질문입니다. [링크 복사], [링크+제목 복사],
조회: 17818
글쓴 사람
김성대
홈페이지
첨부 파일

안녕하세요
채팅프로그램 구현중 어려움을 겪는부분이있어 여쭤보게되었습니다.

소켓종료시 연결유무를 알아야 할것같아서 자료를찾던중 이곳에 좋은글을 예전에 써놓으신걸 찾았습니다.
저의 코드에 "335. TCP 소켓 연결의 해제를 알 수 있는 방법"에 나와있는 IsConnected 속성예제를 혼합하였습니다.

1. 종료버튼구문의 if조건식의 소켓이 null이 아닐때가, 위에서 구현한 IsConnected 속성과 어떤관계가 있는지 잘모르겠습니다.
2. Shutdown을 넣고 실행하면 오류메시지가 나타납니다. shutdown후 close하는것으로 알고있었는데 꼭그럴필요는 없는건가요?

혹시 필요하실지도몰라 소스올리겠습니다.
감사합니다








[최초 등록일: ]
[최종 수정일: 1/3/2018]


비밀번호

댓글 작성자
 



2018-01-03 01시50분
1. 잘 아시겠지만 종료 버튼에서 mainsock이 null이 아닐 때는 해당 메서드에서 닫은 후 mainsock = null을 한 경우를 제외하고는 없습니다. 게다가 서버 소켓이기 때문에 IsConnected 속성과는 상관없는 경우입니다. IsConnected가 의미있는 경우는 클라이언트 측 소켓 및 그것과 연결을 맺어 Accept로 받은 소켓입니다.

2. 첨부한 코드에서 Shutdown은 역시 서버 소켓에서 하고 있는데요. 서버 소켓은 통신을 담당하고 있지 않기 때문에 굳이 Shutdown을 할 필요가 없습니다.
정성태
2018-01-04 10시20분
[김성대] 소켓에서 close()호출후에 모든 연결이 종료되어 IsBound값이 false로 될줄알았는데 true로 계속남아있습니다.
close말고 다른방법으로 해야하나요..?
[guest]
2018-01-04 12시30분
서버 소켓의 경우 IsBound 속성은 일단 바인딩되면 true입니다. false로 다시 돌아가도록 설정되어 있지 않습니다.
정성태
2018-01-07 09시58분
[김성대] FileStream를 이용한 파일명설정은 "...."안에 지정된 글자로만 가능한건가요??
현재시각을 파일명으로 설정하려 하는데 NotSupportedException이 발생하여 여쭤봅니다.
[guest]
2018-01-08 12시20분
그러니까... 어디에 있는 FileStream 설명인가요?
정성태
2018-01-08 02시17분
[김성대] 위 압축파일에 있는줄알고 착각했습니다. 질문을 따로 작성하거나 했어야했는데 죄송합니다.
FileStream의 첫번째 인자에 생성될 파일명을 "...." 안에 작성해야하는데 이 값을
항상 고정된이름으로 하지않고 시간과 변수와같이 동적인값으로 파일명을 설정할수있는지 여쭤본것입니다.
[guest]
2018-01-08 03시26분
FileStream의 생성자에 들어갈 파일명의 타입은 string입니다. 시간이든 변수든 파일명 규칙에 맞는 string이라면 상관없습니다. (예를 들어, 윈도우 탐색기에서 새 파일로 생성할 때 들어갈 수 있는 문자열이면 됩니다.)
정성태
2018-01-16 02시01분
[김성대] 위 예제를 구현할때 APM방식보다 TAP방식이 더많은 장점을 가지고있는건가요
아니면 구현방식의 차이일뿐 TAP방식을 더좋다라고 말할수없는건가요
TAP방식이 더 좋다고 생각하신다면 TAP방식으로도 예제를 구현해보는걸 권장하시는지도 궁금합니다.
[guest]
2018-01-16 05시38분
[이성환] @김성대
Task 성애자로서 TAP 에 대해 한 말씀만 올려봅니다.

1. Task 를 활용하므로 비동기 작업에 대한 추상화가 가능해진다.
2. 비동기 대상 작업이 APM이나 EAP 보다 구현하기 쉽고 간결하다.
3. async / await 기능을 사용할 수 있어 가독성 높은 코드를 유지할 수 있다.
4. SynchronizationContext를 활용한 배타제어를 사용할 수 있다.

등등 APM이나 EAP에 비해 많은 장점이 있다고 생각합니다. TAP에 맛들이면 기존 비동기 기능들도 interop 해서 사용하게 됩니다.
>ㅂ<b
[guest]

... 76  77  78  79  80  [81]  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
456guest9/7/200616057데이타셋 암호화 방법...이 있을까요? [2]
451임은주8/31/200615673mms 스트림을 로컬 파일로 저장해주는 프로그램 에 대해서 여쭤볼께요 [1]
448guest8/28/200616320서버인증서및클라이언트인증서 발급
449정성태8/28/200615701    답변글 [답변]: 서버인증서및클라이언트인증서 발급
450ligh...8/29/200616104        답변글 [답변]: [답변]: 서버인증서및클라이언트인증서 발급 [3]
468light9/28/200615954            답변글 [답변]: [답변]: [답변]: 서버인증서및클라이언트인증서 발급
472정성태10/5/200616487    답변글 [답변]: 서버 인증서 및 클라이언트 인증서 발급
475ligh...10/11/200615357        답변글 [답변]: [답변]: 서버인증서및클라이언트인증서 발급
446윤경재8/20/200620935COM+ 프로젝트 디버깅 방법. [2]파일 다운로드1
442이남호8/7/200615807스마트클라이언트에 Farpoint Winform을 이용했는데 배포가 안되요.
443이남호8/7/200617770    답변글 [답변]: 스마트클라이언트에 Farpoint Winform을 이용했는데 배포가 안되요.
441강혜영8/5/200616732SHDocVw를 이용한 익스플로어 제어
444정성태8/7/200614817    답변글 [답변]: SHDocVw를 이용한 익스플로어 제어
445강혜영8/8/200615497        답변글 [답변]: [질문]: SHDocVw를 이용한 익스플로어 제어 [1]
437혀기7/25/200614108DirectoryEntry의 Childrend에 Add할때 엑세스가 거부됩니다~ㅜㅜ [2]파일 다운로드1
436조성택7/24/200613938IE를 가로채서 그리고 싶을때.. [1]
439태기7/25/200614645    답변글 [답변]: IE를 가로채서 그리고 싶을때..(재질문) [1]파일 다운로드1
435이영균7/21/200615313작그마한 스마트클라이언트 프로젝트를 진행하고 있습니다. [1]파일 다운로드1
431혁이7/19/200614000UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ파일 다운로드1
432정성태7/19/200614390    답변글 [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
433혁이7/20/200615151        답변글 [답변]: [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
434정성태7/20/200616158            답변글 [답변]: [답변]: [답변]: UpdatePanel(Atlas) 위의 SmartClient가 이벤트 후 사라집니다. ㅜㅜ [1]
429kwt7/12/200615373ActiveX 개발을 배우고 싶은데요 [3]
427이홍자7/11/200615584스마트 클라이언트 실행 시 그리드의 체크박스가 안보여요.. [1]
426정보문7/11/200616293액티브X 설치2 [1]
423이방은7/9/200615143리소스 임베디드 질문요.. [1]파일 다운로드1
... 76  77  78  79  80  [81]  82  83  84  85  86  87  88  89  90  ...