C서버/ 안드로이드 클라이언트 TCP통신 질문드립니다
글쓴이: clapmin / 작성시간: 토, 2016/03/26 - 9:37오후
제가 안드로이드 앱과 c언어로 서버를 만들고 있습니다.
앱을 실행한 사용자를 받아서 스레드를 생성해서 처리하고 있습니다.
이과정에서 whlie문을 통해 스레드를 유지시키고 있는데 이 안에서 지속적으로 client로 부터 들어오는 데이터를 읽어서 처리하려고 합니다.
여기서 제가 생각하는 문제는 버퍼에있는 내용을 읽기 위해 무차별적으로 read()나 recv()를 하게되면 사용자가 많아질 경우에는 심각한 부담이 될거라 생각합니다.
그렇기 때문에 만약 서버에서 클라이언트가 데이터를 보낸 사실을 인지하고 read()나 recv()를 하게되면 효율적이지 않을까 생각해서 질문드립니다.
질문의 요지는 결국 클라이언트에서 데이터를 보내면 서버는 그 사실을 알아차릴 수 있는 방법이 있느냐 입니다.
Forums:
C언어 쪽이 서버인가요?
아무렴 그 비슷한 걸 아무도 먼저 고민 안 했겠습니까.
여러 가지 방법이 있는데 일단 select 알려 드립니다. 검색해보면 정보가 많은데, 링크 하나 드릴게요.
http://mintnlatte.tistory.com/313
고맙습니다!!^^
정말 고맙습니다.!!^^
즐거운 주말 되세요
OS에 따라서...
윈도우: IOCP
Linux: Epoll
FreeBSD: kqueue
그냥 libevent 나 libuv, boost의 asio를 보시면 됩니다.
고맙습니다!!^^
정말 고맙습니다.!!^^
즐거운 주말 되세요
댓글 달기