正在阅读:强!Java实现MSN Messenger聊天强!Java实现MSN Messenger聊天

2004-12-13 10:07 出处:CSDN 作者:legendinfo 责任编辑:huangpeidan

  应该说这个界面跟MSN Messenger是非常类似的。用户可以通过它发送和接收消息等。在启动jMSN的命令行窗口中可以看到jMSN与服务器之间通讯的详细信息。

  前面我们主要在介绍jMSN大概的情况,介绍它能完成什么样的功能。下面我们开始来了解怎么利用jMSN自带的API:msnm-lib来实现这些功能。下图是msnm-lib与jMSN包括MSN系统之间的关系,也就是说我们可以通过msnm-lib来完成与MSN服务器之间的通讯而不需要我们去操心具体的通讯协议的细节。事实上msnm-lib给我们做了更多的事情使得我们使用msnm-lib来开发一个MSN应用程序变得非常的简单,这也就是我前面提到的我们完全可以不去可能它所提供的韩文API文档的缘故,因为使用它实在是太简单了。

  闽南语说:说破不值钱!闲话说了那么多,现在我们就开始来开发我们自己基于JAVA的跨平台的MSN客户端程序。相信听到这句大家都会觉得血脉膨胀,没错,还有什么比动手写程序更让人兴奋的事情呢?何况还是基于JAVA的、跨平台的!

  我们先给出一段可运行的代码来完成一个最简单的功能:当有人把它加入好友时,程序自动将之加入好友,当有人给它发送信息,程序自动回复一条相同的信息。OK,完成这么简单的功能的代码如下:


  /*
  * Created on 2003-11-21 by Liudong
  */
  package jmsn.demo;

  import rath.msnm.MSNMessenger;
  import rath.msnm.SwitchboardSession;
  import rath.msnm.UserStatus;
  import rath.msnm.entity.MsnFriend;
  import rath.msnm.event.MsnAdapter;
  import rath.msnm.msg.MimeMessage;
  /**
  * MSN演示程序
  * @author Liudong
  */
  public class MSNDaemon extends Thread {
  private static MSNMessenger msn;

  public static void main(String[] args) {
  msn = new MSNMessenger("youraccount@hotmail.com", "password");
  msn.setInitialStatus(UserStatus.ONLINE);
  msn.addMsnListener(new MSNAdapter(msn));
  msn.login();
  System.out.println("Waiting for the response....");
  //捕捉Ctrl+C的输入以便注销MSN的登录
  Runtime.getRuntime().addShutdownHook(new MSNDaemon());
  }
  /**
  * 用户中止程序执行
  */
  public void run() {
  msn.logout();
  System.out.println("MSN Logout OK");
  }
  }
  /**
  * MSN消息事件处理类
  * @author Liudong
  */


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品