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
mime.setKind(MimeMessage.KIND_MAIL_NOTIFY);
success = msn.sendMessage("other@**.com",mime);
System.out.println("outline message : " + success);
}
} catch (Exception e) {
e.printStackTrace();
}
try {
//避免好友上限,这里要删除好友
msn.removeFriend("other@**.com");
} catch (IOException e) {
e.printStackTrace();
}
}
代码人原链接为http://topic.csdn.net/u/20081204/10/484b64a8-0d54-4fb1-8b2a-3ec89789260e.html
msn.sendMessage(msn,mime);这个老是返回false
并且执行这个main函数,执行到最后main函数还是处于监听状态
那样的话javaw.exe就一个一个增加了,销毁不了
msn=null的话会过一会儿销毁javaw.exe
有更好的方法吗?
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
mime.setKind(MimeMessage.KIND_MAIL_NOTIFY);
success = msn.sendMessage("other@**.com",mime);
System.out.println("outline message : " + success);
}
} catch (Exception e) {
e.printStackTrace();
}
try {
//避免好友上限,这里要删除好友
msn.removeFriend("other@**.com");
} catch (IOException e) {
e.printStackTrace();
}
}
代码人原链接为http://topic.csdn.net/u/20081204/10/484b64a8-0d54-4fb1-8b2a-3ec89789260e.html
msn.sendMessage(msn,mime);这个老是返回false
并且执行这个main函数,执行到最后main函数还是处于监听状态
那样的话javaw.exe就一个一个增加了,销毁不了
msn=null的话会过一会儿销毁javaw.exe
有更好的方法吗?
请问咋解决啊?
请问咋解决啊?
测试过的
msn=null可以真正解决吗?