2014-04-25 2 views
0

소켓을 사용하여 클라이언트/서버 채팅 룸에 대한 자습서를 많이 보았습니다. (SQL DB에 저장된) 사용자가 채팅 할 수있는 인스턴트 메신저를 만들려고합니다. 연락처 및 그룹 (또한 SQL DB에 저장). 지금 나는 어디서부터 시작해야할지 정말 당황 스럽다. 피어 투 피어 (peer to peer) 채팅 및 그룹 채팅을 처리 할 수있는 서버를 만드는 방법은 무엇입니까? 나는 사용자 데이터와 연락처 목록을 저장할 mysql 데이터베이스를 사용하고있다.여러 클라이언트에 소켓 서버를 만드는 방법

답변

0

여러 클라이언트에 대한 ServerSocket 및 ClientSocket을 시작하려면 아래 게시물을 참조하십시오. Two Socket sharing a port

이상적으로 모든 클라이언트는 서버에 단 하나의 소켓 연결 만 갖습니다. 채팅을 구분하기 위해 고유 한 식별자를 사용하여 여러 채팅 유형을 구분할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그렇다면 클라이언트가 서버의 ONE 소켓에 연결될 소켓을 갖거나 서버가 각 클라이언트 소켓에 소켓을 가져야한다는 것을 의미합니까? – user3252991

+0

서버에는'ServerSocket'이 1 개 있습니다. 여러 개의 클라이언트 (각각'Socket'을 가진 클라이언트)는 서버의 동일한'ServerSocket'에 연결합니다. – AdityaKeyal

0

다중 스레드 소켓 서버를 만들어 루프에서 들어오는 연결을 수락 한 다음 소켓의 해당 인스턴스와 클라이언트 간의 모든 작업을 별도의 스레드로 전달해야합니다. 이렇게하면 한 번에 여러 개의 클라이언트 연결을 실행할 수 있습니다. This Page은 단일 및 다중 스레드 채팅 서버를 생성하는 방법에 대해 자세히 설명합니다.

관련 문제