开发互联网使者我该怎么办?

时间:2010-11-07 20:35:44

标签: java algorithm networking programming-languages voip

我想知道如何制作像skype或yahoo messenger这样的东西?

我提到了雅虎或Skype,因为我真的希望信使能够处理许多在线用户。

我是一名java开发人员,但我对这类项目或者VOIP和网络都没有任何想法?

我可以用java开发像messenger一样的东西吗? 以及我需要处理这个项目的其他技术,框架或其他任何东西? 最后,我可以独自发展吗?!或者我需要一个团队开始?!

4 个答案:

答案 0 :(得分:6)

我想你最需要的是关于网络编程的知识。这是迈向目标的第一步:您将学习如何以合理的方式在两个主机之间以及几个主机之间进行通信(java网络编程的一些链接herehere和{{3} })。将注意力集中在协议(低级别)(以及可能的加密)上,并尝试根据您的需求找到合适的协议。即使您想编写自己的IM协议(高级别协议)或使用现有协议(Jabber,MSN,Yahoo,aim等),您也必须了解

其次,你可以看一下开源项目,它试图实现类似的东西,以便更好地理解如何构建项目架构,客户端通信等等。您可以开始在网络上查看一些lib(a book here是一个用于java和Jabber,用于Yahoo的here)。

最后,您可以开始设计您的项目,并决定要做的工作是否超过一个人可以在合理的时间内承担,并试图说服人们与您合作。或者,如果您发现任何内容,也可以加入开源项目。

答案 1 :(得分:3)

为什么重新发明轮子。 JAVA中有许多开源软件,支持IM,多个聊天,在线以及语音和视频通话。

Skype基于SIP +自己的专有技术。所以skype只适用于skype。忘掉互操作性

Gtalk使用XMPPwww.xmpp.org)进行聊天,但使用libjingle(用于RTP会话)进行音频/视频通话。 (libjingle协议和Jingle非常相似,它们不相同,并且不可互操作)

Yahoo,Facebook ......现在有许多IM正在转向XMPP。 (为什么......因为交互工作

因此,如果您想创建自己的IM与gtalk,yahoo ...所有可用的IM互通,请使用XMPP库。首先,您可以下载JAVA版本的XMPP - SMACK。使用简单的APIs,您的即时消息就准备好了。

所以,如果你真的想做一些有趣的事情想出新的功能,那就是开源社区的专利,为你的想法/技术申请专利,或者把它卖给大枪。 :)

答案 2 :(得分:0)

你可能想研究socket。 java btw制作了很多套接字应用程序。对于简单的聊天应用程序。但是,视频聊天或VOIP需要付出更多努力。

答案 3 :(得分:0)

探索java.net 学习socket编程,并不复杂。 关于处理多个客户端,您的服务器必须具有多个线程。每个客户一个。

开发一个简单的聊天信使并不是java中的出价协议。人们可以自己做到这一点。 或许,您甚至可以使用多线程处理多个客户端。

相关问题