разработать интернет-мессенджер, что мне делать? - PullRequest
5 голосов
/ 07 ноября 2010

Я хочу знать, как я могу сделать что-то вроде Skype или Yahoo Messenger?

Я упомянул Yahoo или Skype, потому что на самом деле я хочу, чтобы Messenger обрабатывал многих пользователей в Интернете.

ЯJava-разработчик, но я понятия не имею, для такого рода проектов или для VOIP и сетей?

Могу ли я разработать что-то вроде мессенджера только с Java?и какие еще технологии, фреймворки или что-то еще мне нужно, чтобы справиться с этим проектом?в конце, я могу развить это один?или мне нужна команда для начала?!

Ответы [ 4 ]

6 голосов
/ 07 ноября 2010

Я думаю, что вам больше всего нужны знания о сетевом программировании . Это первый шаг к вашей цели: вы научитесь разумно общаться между двумя хостами и между несколькими (некоторые ссылки для программирования Java-сети здесь , здесь и книга здесь ). Сосредоточьте свое внимание на протоколах (низкоуровневых) (и, возможно, криптографии) и постарайтесь найти подходящий для ваших нужд. Вы должны понимать, даже если вы хотите написать свой собственный протокол IM (высокий уровень один) или использовать один из существующих (Jabber, MSN, Yahoo, aim и т. Д.)

Во-вторых, вы можете взглянуть на проект с открытым исходным кодом , который пытается реализовать нечто подобное, чтобы лучше понять, как структурировать архитектуру вашего проекта, взаимодействие с клиентами и так далее. Вы можете начать поискать какую-нибудь библиотеку ( здесь - это библиотека для java и Jabber, здесь для Yahoo) по всему Интернету.

Наконец, вы можете приступить к разработке своего проекта и решить, будет ли выполнено больше работы, чем один человек может выдержать в разумные сроки, и попытаться убедить людей работать с вами. Или вы также можете присоединиться к проекту с открытым исходным кодом, если вы найдете.

3 голосов
/ 08 ноября 2010

Зачем изобретать велосипед.В JAVA доступно множество программ с открытым исходным кодом, которые поддерживают обмен мгновенными сообщениями, несколько чатов, присутствие, а также голосовые и видеозвонки.

Skype основан на SIP + его собственная запатентованная технология.Так что скайп будет работать только со скайпом.Забудьте о совместимости

Gtalk использует XMPP ( www.xmpp.org ) для своих чатов, но использует libjingle (для сеансов RTP) для аудио / видео вызовов.(Протокол libjingle и Jingle очень похожи, они не одинаковы и не совместимы)

Yahoo, Facebook ... есть много IM, которые сейчас переходят на XMPP.(Почему .. ??? из-за взаимодействия )

Так что если вы хотите создать свои собственные IM, которые взаимодействуют с gtalk, Yahoo ... все доступные IM, используйте XMPPбиблиотеки.Для начала вы можете скачать JAVA версию XMPP - SMACK .Используйте его просто APIs, и ваш IM готов.

Так что, если вы действительно хотите сделать что-то интересное, придумайте новые функции, попробуйте открыть сообщество с открытым исходным кодом, запатентовать вашу идею / технологию или продать ее большому оружию.,:)

0 голосов
/ 07 ноября 2010

Исследуйте java.net Изучите программирование сокетов, это не так сложно.Для обработки нескольких клиентов ваш сервер должен иметь несколько потоков.Один для каждого клиента.

Разработка простого мессенджера в чате не является предложением цены в java.Это можно сделать самостоятельно.Возможно, вы даже можете обрабатывать несколько клиентов с многопоточностью.

0 голосов
/ 07 ноября 2010

Вы, вероятно, хотите исследовать сокет. Много сокет приложений, сделанных Java, кстати. Для простого приложения чата это так. Однако для видеочата или VOIP требуется гораздо больше усилий.

...