안녕하세요, 나는 클라이언트가 채팅에 참여하고 다른 클라이언트를위한 공간을 만들 수있는 소켓을 사용하여 채팅 응용 프로그램을 작성하는 데 필요한 지침을 찾고 있습니다. 나는 작동하는 채팅 응용 프로그램을 만들었지 만 클라이언트는 한 방에 있고 다른 방으로 이동할 수는 없습니다. rmi 사용자가 다른 클라이언트가 참여하고 채팅 할 수있는 공간을 추가 할 수있는 다중 회선을 사용하여 유사한 응용 프로그램을 만들었습니다. 이번엔 소켓을 사용하여 연습하고 싶습니다. 나를 도와주기위한 어떤 종류의 도움이나 안내라도 감사 할 것입니다.자바 소켓 채팅 응용 프로그램
답변
는 지금까지 내가 해결할 수, 당신은 일반 IO 소켓을 통해
- 연결하려는 아마도 소켓 당 하나 개의 독자 스레드와 NIO을 차단.
- 각 소켓을 감싸는 핸들러 클래스를 제안합니다.
- 은 텍스트 기반 프로토콜을 사용합니다.
- 방에 추가하고, 방에서 제거하고, 현재 방의 목록을 가져오고, 메시지를 보내려면 명령이 필요합니다.
는 하나의 클라이언트/가입/듣기이 각 방에 핸들러 세트를 필요 의미 번
- 여러 객실에 표시 할 수 있습니다.
- 느린 소비자를 처리하고 정상적으로 연결을 끊으려고합니다.
첫 번째 사항 : 미안하지만 무슨 뜻인지는 확실치 않습니다. 두 번째 사항 : 나는 그것에 대해 생각하고 있었지만 어떻게 할 수 있는지 파악할 수 없었습니다. 나는 지금 그걸로 노력하고 놀 것이다. 3 포인트 : 맞습니다. 4 번째 포인트 : 그게 내가하고 싶은 것입니다. :). 제 5 회 : 무슨 뜻인지 이해합니다. – user629283
나는 당신이 모르는 것을 모른다. ;) 원하는 경우 추가 질문을하십시오. –
죄송합니다. 너무 일찍 입력하십시오 – user629283
통신 계층을 구현하려면 netty 또는 apache mina을 살펴 봐야합니다. 두 가지 모두 클라이언트와 서버 측의 요구 사항을 해결합니다. 나는 그들이 이미 채팅 프로토콜 샘플을 가지고 있다고 생각한다.
고마워요, 그게 읽을거야,하지만 난 그냥 소켓과 서버 소켓을 사용하여 생각했다. 어쨌든 고맙습니다. – user629283
두 프레임 워크 모두 nio-socket을 사용하고 저수준 항목에 대한 abstration을 제공하므로 프로토콜에 집중할 수 있습니다. – Chriss
- 1. 자바 사용 소켓 클래스에서 간단한 채팅 프로그램
- 2. 자바 채팅 (서버 포켓/소켓)
- 3. Android 용 웹 소켓 채팅 응용 프로그램
- 4. C# 멀티 클라이언트 소켓 채팅 응용 프로그램
- 5. 채팅 응용 프로그램, 소켓 vs RMI
- 6. 자바에서 UDP 소켓 채팅 응용 프로그램
- 7. 자바 소켓 프로그램 지원
- 8. 자바 웹 기반 채팅 응용 프로그램
- 9. 자바 간단한 RMI 채팅 응용 프로그램
- 10. 채팅 응용 프로그램 제안 .Net
- 11. Android 채팅 응용 프로그램 개발
- 12. 간단한 아이폰 채팅 응용 프로그램
- 13. 블루투스 채팅 응용 프로그램
- 14. 채팅 응용 프로그램 - 암호
- 15. 얼음 채팅 응용 프로그램
- 16. 안드로이드 채팅 응용 프로그램
- 17. 채팅 응용 프로그램 디자인
- 18. PHP의 채팅 응용 프로그램
- 19. J2ME 채팅 응용 프로그램?
- 20. 채팅 응용 프로그램 안드로이드
- 21. Grails에서 채팅 응용 프로그램
- 22. 채팅 응용 프로그램 폴링
- 23. 채팅 응용 프로그램 문제
- 24. 탭 채팅 응용 프로그램
- 25. 안드로이드의 P2p 채팅 응용 프로그램
- 26. 안전한 채팅 응용 프로그램 + GUI
- 27. 자바 소켓 클라이언트 - 서버 응용 프로그램
- 28. 자바 소켓 페인트 프로그램
- 29. 자바 클라이언트 서버 채팅 프로그램
- 30. 자바 클라이언트/서버 SSL 소켓 채팅
우리는 당신이 시작하게하지 않을 것입니다, 그것은이 사이트의 목적이 아닙니다. (질문을 통해 검색하고 그것에 대해 google을 사용하십시오). 그러나 문제가 있으면 해결하도록 도와 드리겠습니다. –
죄송합니다. 나는 코드를 요구하지 않고있다. 나는 내가 의미하는 것을 다시 써야한다고 생각한다. 다중 클라이언트를 허용하는 다중 채팅 응용 프로그램을 만들었지 만 서버에서 클라이언트가 방을 만들 수있는 방법을 원하지 않습니다. 지금 모든 내 소켓 채팅 응용 프로그램은 모든 클라이언트를 서버 ArrayList에 추가하고 메시지가 수신되면 모든 클라이언트를 업데이트합니다. 제 질문은 클라이언트가 방을 만들거나 방에 들어 오기를 원한다면 서버를 어떻게 사용할 수 없을까요? – user629283
이를위한 자체 프로토콜을 정의하고 구현하십시오. –