知道用jmsn 或 jml 
但问题是msn要在加了好友后才可发给对方发消息,文档都是乱七八糟的韩文,看不了,请有做过这方面的大大帮解决一下。 现在的问题是:如何给离线用户发消息先谢谢了, 
解决给加分

解决方案 »

  1.   


    这是我写的代码,
     
    package com.dtb.test;
     
    import java.io.IOException;
     
    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;
     
    /**
     * 测试java_msn
     * @author dtb
     *
     */
    public class Test_Msn extends Thread { 
     private static MSNMessenger msn; 
     
     public static void main(String[] args) { 
      msn = new MSNMessenger( "mine@**.com", "passwd"); //发送人 
      msn.setInitialStatus(UserStatus.ONLINE);
      
      //设置消息
      MimeMessage mime = new MimeMessage(); 
      mime.setKind(MimeMessage.KIND_MESSAGE);
      mime.setMessage("this is a test!");
      
      msn.login();
     
      try {
       //设置延时
       Thread.currentThread().sleep(5000);
       
       //给陌生人发消息,先加对方为好友
       MsnFriend friend = new MsnFriend("other@**.com");//接收人
       msn.addFriend(friend.getLoginName());
       
       //设置session,取得于对方的会话
       SwitchboardSession switchboardSession = msn.doCallWait("other@**.com"); //接收人
       
       //设置延时
       Thread.currentThread().sleep(1000); 
       
       boolean success = false;
       
       //发送在线消息
       success = msn.sendMessage("other@**.com",mime);
       System.out.println("online message : " + success);
       if(!success) {
        //发送离线消息 TODO 
       
       }
      } catch (Exception e) { 
       e.printStackTrace(); 
      }
      try {
       //避免好友上限,这里要删除好友
       msn.removeFriend("other@**.com");
      } catch (IOException e) {
       e.printStackTrace();
      }
     } 

     
     
    在程序中,我没有使用MsnAdapter,现在的问题是当对方不在线时,没有办法实现发离线消息,
      

  2.   

    为什么我的消息发不出去呢?
    调用login()方法老失败呢,