Microsoft MVP성태의 닷넷 이야기
글쓴 사람
하태
홈페이지
첨부 파일
 
비동기소캣으로 통신을 구현 중입니다.
지금까지 제가 알고 있던 방식은 Send를 보내고나면 Recv메세지를 기다렸다가 리턴 메세지를 받고, 소켓을 끊고 예)client.Shutdown(SocketShutdown.Both); client.Close();,
다시 메세지를 보낼때 소켓을 붙이는 방식으로 알고 있는데,
비동기도 소켓을 끊지않고 유지 할 수 있을까요?
보낼때마다 연결을 하는게아니라 연결을 항상 되어있는 상태에서 자유롭게 메세지를 보내고 싶습니다.




donaricano-btn



[최초 등록일: ]
[최종 수정일: 9/17/2020]


비밀번호

댓글 쓴 사람
 



2020-09-17 10시34분
클라이언트/서버가 그렇게 서로 합의하면 당연히 가능합니다.
정성태
2020-09-18 09시14분
[초보1] 비동기 소켓 방식이
Send/Recv 처리 자체가 비동기 방식이지 연결 자체를 끊었다 붙였다 하는게 아니지 않나요?
(이런 방식은 http같은 단방향 통신 아닌가요)
기본적으로 TCP라면 항상 연결상태 일텐데요
[손님]
2020-09-18 08시14분
[dimohy] 동기든 비동기든 연결을 계속 해주시면 되고, 메시지는 서로의 약속에 맞게 주거니 받거니 하면 됩니다. 여러가지 방식이 있지만, 요즘에는 JSON 직렬화가 JSON.NET 또는 .NET 5 에서 잘 지원해 주므로 그냥 주거니 받거니를 JSON으로 하셔도 됩니다. (생각보다 편합니다.) 아니면 WAMP라고 재미난 프로토콜이 있습니다. WAMP를 .NET용으로 구현한 WampSharp이라는게 있는데, 사용법도 간단하고 사용하기도 간단합니다. 이런류를 이용해도 괜찮습니다.
목적이 학습이라면, 조금만 검색해보시면 (영어로 검색하기를 추천합니다) 다양한 샘플들이 있습니다.

즉, "비동기도 소켓을 끊지않고 유지할 수 있을까요?"라는 질문이 잘못 되었습니다.
[손님]

1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...
NoWriterDateCnt.TitleFile(s)
5180김대훈6/25/20192645배열과 반복문에서 질문드립니다 [2]
5177농상6/13/20193238멀티스레드 건의 [2]
5176이선호6/13/20192947안녕하세요. 닷넷 문제로 검색하다 알게되어 들어왔습니다. 현재 IIS 문제가 있어 질문드립니다. [1]
5175Chobo6/12/20192924WPF Ellipse 그리기! [3]
5174농상6/11/20192680ThreadPool 조인에 관해 [1]
5173전우치6/9/20192772공유 리소스에 대한 스레드 동기화 처리를 위해서 lock 이용 시 문의 [3]
5172김대훈6/7/20192536너무힘드네요 공부에 대한조언부탁드립니다 [2]
5171조남석6/4/20192413EX)11-2(treeview)에 대한 질문입니다. [3]
5170레리6/4/20192612Setup 프로젝트 레지스트리 설정 관련 질문입니다. [1]파일 다운로드1
5169농상6/3/20192733멀티스레드 파라미터 관련 [2]
5168익명유저5/30/20192259항상 정말 감사드립니다... [1]
5167WPF5/23/20192816질문드립니다. [1]
5165이대희5/22/20192405Visual Studio 설치 구성요소 문의 (C# 7.3 개정판 관련) [1]
5164레드5/21/20192894실행 과정과 실행파일 디버그 시 Icon변경 질문드립니다. [5]
5163이대희5/20/20192203시작하세요 C# 7.3 프로그래밍 책 도착했습니다. [1]
5162채홍윤5/14/20193642Mono Develop window 설치 [6]
5161정대영5/13/20192186VS 2013에서 C#6.0(.netFramwork 4.6.1) $ 디버깅 오류 [1]
5160초보개발자5/13/20193070wcf 관련 국내 서적 살만한 책이 있나요? [2]
5159sdh25/9/20192894VS 2010 버전에서 생성한 DLL을 VS 2017버전에서 실행 시 에러 [2]
5158sdh5/8/20192113Visual studio 2010 버전에서 생성한 Project를 Visual studio 2017버전에서 실행에러 [1]
5157김경훈5/8/20192885Task 만들때 넘겨주는 CancellationToken은 어디서 사용 되는 건가요? [4]
5156rysoo5/8/20192305yield return의 리턴 타입 질문 드립니다. [4]
5155세퉁5/7/20193045관리자 권한으로 실행 시 알림창(?) 없이 바로 실행 시킬 수 있는 방법이 있을까요?? [2]파일 다운로드1
5154SoulToMind5/4/20191989NamedPipe 질문드립니다. [2]
5153개태5/4/20192574WCF RESTful Service에서 enum을 parameter로 쓰는방법 [2]
5152세퉁5/3/20192884인터넷 시간을 불러와 pc에 적용 시키고 싶습니다. [3]파일 다운로드1
1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...