调试一个java写的简陋IM

从网上找了个java写的简陋的IM的实现:

http://javaprince.iteye.com/blog/889200

http://javaprince.iteye.com/blog/958446

这就是个局域网聊天软件的简陋版本,凑合能用,数据库层没有真正实现,登录使用userX,密码对应为pwdX,X从1到9取值。

凑合能用,暂时还没有移植到Android的打算。

我知道有smack库和openfire服务器这种开源代码,不过为了学习还是看这个自己实现XMPP协议的简陋代码好了。


代码说明:

  1. server和client都有UI界面。

    UI进程不能被后台进程阻塞,所以连接、关闭等操作都要用新开的线程来搞。

  2. java自带的socket是阻塞的,accept()函数产生连接套接字的时候会阻塞。

    这个阻塞通过为serverSocket调用setSoTimeout函数能够解决掉,而它抛出的超时异常则可以忽略!(因为我想打开、关闭、再打开同一个端口。。。)

  3. swing的顶层容器JFrame等可以直接添加组件。

  4. XMPP协议的使用,原作者是自定义的,不过也差不多够用了。我这里把XML消息的构造集中到XMLTool类中方便查看和以后的修改。

    代码下载:http://pan.baidu.com/s/1c0fbdXu

你可能感兴趣的:(IM,简陋)