⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simplemsn.java

📁 封装的msn代码,利用他很容易就可以登录msn.实现和msn通讯的目的.
💻 JAVA
字号:
package net.sf.jml.example;import net.sf.jml.MsnContact;import net.sf.jml.MsnMessenger;import net.sf.jml.MsnProtocol;import net.sf.jml.MsnSwitchboard;import net.sf.jml.MsnUserStatus;import net.sf.jml.event.MsnAdapter;import net.sf.jml.event.MsnContactListAdapter;import net.sf.jml.impl.MsnContactImpl;import net.sf.jml.impl.MsnMessengerFactory;import net.sf.jml.message.MsnControlMessage;import net.sf.jml.message.MsnDatacastMessage;import net.sf.jml.message.MsnInstantMessage;import net.sf.jml.message.MsnSystemMessage;import net.sf.jml.message.MsnUnknownMessage;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * @author Roger Chen */public class SimpleMsn{	private static final Log log = LogFactory.getLog(SimpleMsn.class);	private String email;	private String password;	private MsnMessenger messenger;	public SimpleMsn(String email, String password)	{		this.email = email;		this.password = password;	}	public void start()	{		messenger = MsnMessengerFactory.createMsnMessenger(email,				password);		messenger				.setSupportedProtocol(new MsnProtocol[] { MsnProtocol.MSNP11 });		messenger.getOwner().setInitStatus(MsnUserStatus.ONLINE);		messenger.setLogIncoming(true);		messenger.setLogOutgoing(true);		messenger.addListener(new MsnListener());		messenger.login();		messenger.addContactListListener(new MsnContactListAdapter()		{			public void contactStatusChanged(MsnMessenger msn, MsnContact con)			{				System.out.println(con.getDisplayName());				System.out.println(con.getPersonalMessage());				System.out.println(((MsnContactImpl) con).getCurrentMedia());			}			public void contactListInitCompleted(MsnMessenger messenger)			{				listContacts();			}		});				try		{			Thread.sleep(10000);		} catch (InterruptedException e)		{			// TODO Auto-generated catch block			e.printStackTrace();		}		messenger.logout();		messenger.login();				//		messenger.getOwner().setDisplayName("Blah");//		messenger.getOwner().getDisplayName();	}		private void listContacts()	{		MsnContact[] cons = messenger.getContactList().getContacts();        for (MsnContact con : cons) {            System.out.println(con.getDisplayName());            System.out.println(con.getEmail());            System.out.println(con.getStatus());            System.out.println(con.getPersonalMessage());        }    }	public static void main(String[] args) throws Exception	{		new SimpleMsn("email", "password").start();	}	private static class MsnListener extends MsnAdapter	{		public void exceptionCaught(MsnMessenger messenger, Throwable throwable)		{			log.error(messenger + throwable.toString(), throwable);		}		public void loginCompleted(MsnMessenger messenger)		{			log.info(messenger + " login complete ");		}		public void logout(MsnMessenger messenger)		{			log.info(messenger + " logout");		}		public void instantMessageReceived(MsnSwitchboard switchboard,				MsnInstantMessage message, MsnContact friend)		{			log.info(switchboard + " recv instant message " + message);			switchboard.sendMessage(message, false);		}		public void systemMessageReceived(MsnMessenger messenger,				MsnSystemMessage message)		{			log.info(messenger + " recv system message " + message);		}		public void controlMessageReceived(MsnSwitchboard switchboard,				MsnControlMessage message, MsnContact contact)		{			log.info(switchboard + " recv control message from "					+ contact.getEmail());			switchboard.sendMessage(message, false);		}		public void datacastMessageReceived(MsnSwitchboard switchboard,				MsnDatacastMessage message, MsnContact friend)		{			log.info(switchboard + " recv datacast message " + message);			switchboard.sendMessage(message, false);		}		public void unknownMessageReceived(MsnSwitchboard switchboard,				MsnUnknownMessage message, MsnContact friend)		{			log.info(switchboard + " recv unknown message " + message);		}		public void contactListInitCompleted(MsnMessenger messenger)		{			log.info(messenger + " contact list init completeted");		}		public void contactListSyncCompleted(MsnMessenger messenger)		{			log.info(messenger + " contact list sync completed");		}		public void contactStatusChanged(MsnMessenger messenger,				MsnContact friend)		{			log.info(messenger + " friend " + friend.getEmail()					+ " status changed from " + friend.getOldStatus() + " to "					+ friend.getStatus());		}		public void ownerStatusChanged(MsnMessenger messenger)		{			log.info(messenger + " status changed from "					+ messenger.getOwner().getOldStatus() + " to "					+ messenger.getOwner().getStatus());		}		public void contactAddedMe(MsnMessenger messenger, MsnContact friend)		{			log.info(friend.getEmail() + " add " + messenger);		}		public void contactRemovedMe(MsnMessenger messenger, MsnContact friend)		{			log.info(friend.getEmail() + " remove " + messenger);		}		public void switchboardClosed(MsnSwitchboard switchboard)		{			log.info(switchboard + " closed");		}		public void switchboardStarted(MsnSwitchboard switchboard)		{			log.info(switchboard + " started");		}		public void contactJoinSwitchboard(MsnSwitchboard switchboard,				MsnContact friend)		{			log.info(friend.getEmail() + " join " + switchboard);		}		public void contactLeaveSwitchboard(MsnSwitchboard switchboard,				MsnContact friend)		{			log.info(friend.getEmail() + " leave " + switchboard);		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -