Instant Messenger,Java中的基本项目

时间:2012-01-16 02:11:16

标签: java sockets networking instant-messaging

我正在尝试用Java创建一个非常基本的简单即时通讯工具。

我有点失落从哪里开始,想知道这里是否有人可以推荐一个起点?我应该读什么?初学者/中级程序员尝试实现这一目标的最简单方法是什么?

目前,我希望它能够将文本发送到另一台机器。我到目前为止还不熟悉java中与网络相关的任何内容。我会使用服务器还是直接连接两台机器?

任何指点/指导或建议任何人在这件事上都会非常有帮助!

3 个答案:

答案 0 :(得分:3)

首先查看Socket programming的官方资源,有关编写客户端/服务器对的文章应该为您提供创建即时消息的所需信息。

答案 1 :(得分:2)

好吧,我关注你的第二个问题。

如果您正在为您的局域网构建此程序,并且您打算使用套接字编程,则需要找到该机器的确切IP地址。如果您不知道IP地址(我的意思是如果您不希望程序在运行之前知道IP地址),那么您可以ping本地IP地址,直到找到一些同行。

某些p2p应用程序使用服务器作为ip匹配器。这意味着服务器具有IP地址表,这使得所有用户都可以使用这些服务器发送/接收数据。但是,如果你刚刚开始与这个项目建立联系,我认为不要使用服务器。

最后,您可以查看我自己的项目。这是一个简单的并行文档准备程序,里面有一个聊天模块。它是用C#开发的。它需要无线ad hoc网络才能运行。链接:http://code.google.com/p/parallel-docs/

答案 2 :(得分:0)

我认为这种类型的项目不会成为初学者项目。我绝对不会劝你尝试它,我认为你应该这样做。我总是把这样的东西放在我脑海里,但是我查了一下并提出问题并且通常最终会学到一些东西。我的建议是无论程序有多简单,从一些类图开始,如果没有其他任何东西只是为了在进入代码之前组织起来。例如,你知道你需要一个用户帐户对象,你知道你需要该对象的某些属性(用户名,密码等),我封装了一切所以你需要方法来获取和设置这些字段等。我发现通过这样做,即使我没有创建完整的正确的UML图表,让简单的东西挡开,如果有点组织,如果没有别的东西让我把注意力集中在更复杂的逻辑和事情上我可能还没有知道如何实施。