1. 되는지 안되는지를 명확하게 알리려는 것이 제가 의도한 바입니다.
둘 다 존재한다는 얘기는 결국 양쪽 다 존재가치가 있다는 것이고 어떤 것을 선택할지는 상황에 따른 개인의 판단인 것입니다.
또한 본문에 의하면 현재 글쓰신 분은 클라이언트를 작업하고 있으며, 서버가 C#으로 되어있는지는 알 수 없습니다.
2. 동기 통신 전담 스레드는 폴링을 의미하는 것이 아닙니다. 물론 폴링으로 구현할 수도 있지만, 이 역시 구현하기 나름입니다.
(윗 답변을 보니 동기통신을 폴링과 혼동하신 게 아닐까 하는 생각이 드네요. 동기 비동기와 메시지 응답성은 관계가 없습니다. 폴링과 이벤트 방식이라면 모를까.)
서버라고 비동기 통신을 무조건 쓰면 안 되고 이런 것은 없습니다. 각자 나름대로의 특성이 있으니까 둘 다 존재하는 것이지요.
제가 의도하지 않은 사항에 대해 일일이 답변해야 할 이유는 없으니 이쯤에서 접도록 하겠습니다.
꼭 그렇지는 않습니다.
스레드를 하나만 써야 된다는 조건이 있다면 모를까, 그렇지 않을 경우 별도의 스레드에서 동기식 통신을 한다 해도 문제될 것이 없습니다.
--
c# 모르지만 예 비동기로 만드셔야 합니다.
c# 모르지만 이런 답변은 특정 언어에 종속된 문제가 아니기에 답변드립니다.
예 비동기로 만드셔야 합니다.
관리자가 급히 서버 공지를 띄운다고 생각해 보세요.
비동기가 아니면 클라이언트는 긴급 공지를 어떻게 받아서 처리를 할 수 있겠습니까?
동기 소켓은 무조건 동기 방식으로 메시지 교환을 해야 하지만,
비동기 소켓은 (1) 비동기 방식으로 메시지 교환과 (2) 동기 방식으로 메시지 교환 2가지가 가능합니다.
물론 이에 대한 소프트웨어 설계를 잘 하셔야 하지요.
제가 최근에 비동기 방식으로 파일 송수신을 구현해 보았는데요,
비동기는 입력과 출력 메시지가 독립적이다 보니 신경을 써야 하는 곳이 많고 제어가 참 어렵네요.
그럼 수고하세요.
동기통신을 전담하는 스레드를 만들면 안될것은 없습니다.
동기식이든 비동기식이든 어차피 어디선가 누군가는 상황을 주시하고 있다가 본체에 알려주어야 합니다. 그게 어디에 존재하느냐의 차이일 뿐이죠.
--
안될거 없지만 네트워크 초짜들한테 유연성,확장성등등 비동기를 유도하셔야 하는거 아닐까요?
안될거 없지만 네트워크 초짜들한테 유연성,확장성등등을 고려하여
가장 먼저 비동기를 유도하셔야 하는거 아닐까요?
비동기는 서버/클라이언트 2곳에서 코드 재 사용하기에 무난하다고 생각합니다.
말씀하신 "동기 통신 전담 쓰레드" 는 서버쪽에서는 조금 무리가 아닌가 합니다.
그리고 제가 "동기 통신 전담 쓰레드" 를 구현한적이 없어 통밥으로 이렇게 만들어야겠다 라는 생각이 나서 드리는 질문인데요.
"동기 통신 전담 쓰레드" 는 일정 주기로 서버 메시지 있는지 확인 하는 방식으로 동작한다고 추정합니다.
제 생각이 맞다면 이런 방식은 CPU 등 자원 점유 측면에서 비동기 보다 낮다고 하기에는 거시기 하지 않나요?
...?
1. 되는지 안되는지를 명확하게 알리려는 것이 제가 의도한 바입니다.
둘 다 존재한다는 얘기는 결국 양쪽 다 존재가치가 있다는 것이고 어떤 것을 선택할지는 상황에 따른 개인의 판단인 것입니다.
또한 본문에 의하면 현재 글쓰신 분은 클라이언트를 작업하고 있으며, 서버가 C#으로 되어있는지는 알 수 없습니다.
2. 동기 통신 전담 스레드는 폴링을 의미하는 것이 아닙니다. 물론 폴링으로 구현할 수도 있지만, 이 역시 구현하기 나름입니다.
(윗 답변을 보니 동기통신을 폴링과 혼동하신 게 아닐까 하는 생각이 드네요. 동기 비동기와 메시지 응답성은 관계가 없습니다. 폴링과 이벤트 방식이라면 모를까.)
서버라고 비동기 통신을 무조건 쓰면 안 되고 이런 것은 없습니다. 각자 나름대로의 특성이 있으니까 둘 다 존재하는 것이지요.
제가 의도하지 않은 사항에 대해 일일이 답변해야 할 이유는 없으니 이쯤에서 접도록 하겠습니다.
--
댓글 달기