먼저 Boost asio에서 새로운 것을 말하고 싶습니다. 많은 예제가 있지만 이해할 수없는 부분이 있습니다.부스트 asio - 동기 쓰기/읽기 - 어떻게?
두 개의 클라이언트를 사용할 서버를 만들고 싶습니다 (두 개의 소켓을 사용합니다). 첫 번째 클라이언트는 서버에 메시지를 보내고 서버는이 메시지를 다른 클라이언트에게 보냅니다 (예, 서버를 사용하는 것은 쓸모가 없지만 여기서 중요한 것은 아닙니다.이 모든 것이 어떻게 작동하는지 알고 싶습니다). 이는 클라이언트가 닫힐 때까지 발생합니다.
그래서 서버를 만들었고 서버는 클라이언트를 기다렸다가 첫 번째 클라이언트가 메시지를 보낼 때까지 기다려야합니다. 그리고 이것이 나의 질문입니다. 나는 무엇을해야합니까?
첫 번째 소켓을 읽고 나서 두 번째 소켓에 써야한다고 생각했는데 소켓에 첫 번째 클라이언트가 불만을 제기하는 경우 어떻게 알 수 있습니까? 동일하게, 두 번째 클라이언트가 두 번째 소켓을 읽는 지 어떻게 알 수 있습니까?
코드가 필요하지 않습니다. 단지이를 수행하는 좋은 방법을 알고 싶습니다.
읽어 주셔서 감사합니다.
알겠습니다. 이해합니다. 하지만 제 경우에는 서버가 클라이언트를 기다리고 나서 뭔가를 받으면 다른 클라이언트에게 보낼 수 있기 때문에 동기 읽기/쓰기를 할 수 있습니까? –
블로킹 asio :: read/asio :: write 함수도 사용할 수 있지만 버클리 소켓과 비교할 때 많은 기능을 추가하지는 않으므로 블로킹 IO에 asio를 사용하는 것은 좋지 않을 것이라고 생각합니다. 대신이 경우에는 전통적인 버클리 소켓을 사용합니다. –
감사합니다. 대단히 감사합니다! –