2012-01-16 2 views
2

저는 현재 Java로 매우 기본적인 베어 메신저 메신저를 만드는 중입니다.Instant Messenger, Java의 기본 프로젝트

어디서부터 시작 해야할지 모르겠다. 여기 누군가가 출발점을 추천 할 수 있는지 궁금한가요? 무엇을 읽어야합니까? 초급/중급 프로그래머가 이것을 시도하고 달성하는 가장 쉬운 방법은 무엇입니까?

현재 한 컴퓨터에서 다른 컴퓨터로 텍스트를 보내려면 할 수 있어야합니다. 나는 지금까지 java와 관련된 네트워크에 익숙하지 않다. 서버를 사용하거나 두 대의 컴퓨터를 직접 연결하면됩니까?

모든 지침/방향 또는 조언이 문제에있어 매우 도움이 될 것입니다!

답변

2

글쎄, 나는 너의 두 번째 질문에 집중하고있다.

로컬 네트워크 용으로이 프로그램을 작성하고 소켓 프로그래밍을 사용하려는 경우 컴퓨터의 정확한 IP 주소를 찾아야합니다. ip 주소를 모르는 경우 (즉, 프로그램을 실행하기 전에 프로그램이 IP 주소를 알지 못하게하려는 경우), 동료를 찾을 때까지 로컬 IP 주소를 핑 (ping) 할 수 있습니다.

일부 p2p 응용 프로그램은 서버를 ip matcher로 사용합니다. 즉, 서버에는 모든 사용자가 이러한 서버를 사용하여 데이터를 보내거나받는 IP 주소 테이블이 있습니다. 하지만이 프로젝트로 네트워킹을 시작한 사람이라면 서버를 사용하지 않는 것이 좋습니다.

마지막으로 내 프로젝트를 살펴볼 수 있습니다. 채팅 모듈이 들어있는 간단한 병렬 문서 준비 프로그램입니다. 이것은 C#에서 개발되었습니다. 무선 ad hoc 네트워크가 필요합니다. 링크 : http://code.google.com/p/parallel-docs/

+1

로컬 IP 주소 폴링은 좋은 생각이 아닙니다. 또한 IM 프로그램이 두 대의 컴퓨터를 연결하기 위해 서버를 필요로 할 가능성이 매우 높습니다. – Jivings

+1

폴링은 최선의 아이디어는 아니지만 문제를 해결하는 방법이라고 생각합니다. 하지만, 초보 프로젝트의 경우,이 프로젝트를 사용할 수 있다고 생각합니다. 가장 먼저해야할 일은 receiver.java와 sender.java와 같은 2 개의 Java 프로그램을 작성하고 메시지를 올바르게 수신했는지 여부를 테스트하는 것입니다. 그 후 더 발전되어 클라이언트 - 서버 또는 P2P 패턴을 사용합니다. – aacanakin

+0

이것은 제가 찾고 있던 시작점의 일종입니다! 나는 그것을하고 싶지만, 처음에는 압도적 인 것처럼 보이고, 어디서부터 시작해야할지 몰랐다. 여기서 언급 한 것을 시도해보고 내가 어떻게 시작하는지 볼 수있다. 답장을 보내 주셔서 감사합니다, 정말 고마워요! – Eogcloud

3

먼저 Socket programming의 공식 자원을 확인하십시오. 클라이언트/서버 쌍 작성에 관한 기사는 인스턴트 메신저를 작성하는 데 필요한 정보를 제공해야합니다.

0

저는이 프로젝트 유형이 초보 프로젝트가 될 것이라고 생각하지 않습니다. 나는 당신이 그것을 시도하는 것을 절대적으로 낙담하지 않는다, 나는 생각한다. 나는 항상 이런 식으로 머리를 쓰고 있지만, 나는 그것을보고 질문하고 보통 뭔가 배우기를 마친다. 코드에 뛰어 들기 전에 정리할 것이 없다면 내 조언은 프로그램의 단순성과 상관없이 몇 가지 클래스 다이어그램부터 시작해야합니다. 예를 들어 방망이에서 바로 사용자 계정 개체가 필요하다는 것을 알고 있고 해당 개체에 대한 특정 특성 (사용자 이름, 암호 등)이 필요하다는 것을 알고 있으면 모든 것을 캡슐화하므로 얻을 수있는 메서드가 필요합니다. 이 필드를 설정하는 등. 나는 적절한 UML 다이어그램을 작성하지 않아도 쉬운 일을 처리하지 못한다고 생각합니다. 그리고 다소 복잡한 구조가 아니라면 좀 더 복잡한 논리에 집중할 수있게 해줄 것입니다. 구현 방법을 알아야한다.

+0

6 개월 전에 완료했는데, 약 80 %가 완료되었고 꽤 잘 돌아갔습니다. 자바에서 다른 것보다 더 많이하는 법을 배웠습니다! – Eogcloud

+0

니스, 나는 프로젝트에서 영감을 얻었습니다. 완료는 느슨하게 정의되어 있습니다 ... 두 클라이언트 프로그램은 서버 프로그램을 통해 통신 할 수 있습니다. 서버를 설치하지 않아도 그 순간에 실제로 계속할 점이 없으므로 메트로놈 프로젝트로 넘어갔습니다. 꽤 간단 해 보였지만 Sound API와 정확한 스레드 타이밍 사이에는 몇 가지 주요 도로 블록이 있습니다. 하하를 작동시킬 수 있는지 알려주세요 :-). –