- 浏览: 408946 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wcjagta:
...
dedecms插件开发教程 -
xc2013:
看起来不错 先下载来试试
ECSHOP完全静态化解决方法 -
greemranqq:
你好,我在xp 上做实验,也是JS css带不过来,关于 ro ...
nginx资源定向 css js路径问题 -
hotsmile:
表结构给出来吧,测试的提示说要注册,
中国移动CMPP短信开发平台通讯包 2.8 -
mengdejun:
gang80306176 写道这个插件怎么用和安装普通插件一样 ...
phpcms2008 sp4单网页编辑器插件
import net.sf.jml.MsnContact; import net.sf.jml.MsnContactPending; import net.sf.jml.MsnGroup; import net.sf.jml.MsnList; import net.sf.jml.MsnMessenger; import net.sf.jml.MsnSwitchboard; import net.sf.jml.event.MsnContactListListener; import net.sf.jml.event.MsnMessageListener; 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 net.sf.jml.message.p2p.MsnP2PMessage; @SuppressWarnings("unused") public class MSNDaemonOther { private String account="mak0000@msn.com"; private String password="*************"; private MsnMessenger messenger=null; public MSNDaemonOther() { } private void start() { this.messenger=MsnMessengerFactory.createMsnMessenger(account,password); this.messenger.addMessageListener(new MsnMessageAdapter(this.messenger)); this.messenger.setLogIncoming(true); this.messenger.setLogOutgoing(true); this.messenger.login(); } public void end() { this.messenger.logout(); } public static void main(String[] args) { MSNDaemonOther msn=new MSNDaemonOther(); msn.start(); } } class MsnMessageAdapter implements MsnMessageListener{ private MsnMessenger messenger=null; public MsnMessageAdapter(MsnMessenger messenger) { super(); this.messenger = messenger; } public void controlMessageReceived(MsnSwitchboard arg0, MsnControlMessage arg1, MsnContact arg2) { System.out.println("正在输入"+arg2.getEmail()); } public void datacastMessageReceived(MsnSwitchboard arg0, MsnDatacastMessage arg1, MsnContact arg2) { System.out.println("2"); } public void instantMessageReceived(MsnSwitchboard arg0, MsnInstantMessage arg1, MsnContact arg2) { System.out.println("收到消息:"+arg1.getContent()); if(arg1.getContent().equals("-h")) this.messenger.sendText(arg2.getEmail(),"1"); else if(arg1.getContent().equals("-v")) this.messenger.sendText(arg2.getEmail(),"2"); else if(arg1.getContent().equals("-q")) this.messenger.sendText(arg2.getEmail(),"3"); else if(arg1.getContent().equals("-x")) this.messenger.sendText(arg2.getEmail(),"4"); else this.messenger.sendText(arg2.getEmail(),"小孟在线 mengdejun.javaeye.com \r-h帮助 \r-v 验证\r-q 退出\r-x 其他"); } public void offlineMessageReceived(String arg0, String arg1, String arg2, MsnContact arg3) { System.out.println("收到在线消息 1:"+arg0+" 2:"+arg2); } public void p2pMessageReceived(MsnSwitchboard arg0, MsnP2PMessage arg1, MsnContact arg2) { System.out.println("收到P2P消息:"+arg1.getAppId()); } public void systemMessageReceived(MsnMessenger arg0, MsnSystemMessage arg1) { System.out.println("收到系统消息:"+arg1.getContent()); } public void unknownMessageReceived(MsnSwitchboard arg0, MsnUnknownMessage arg1, MsnContact arg2) { System.out.println("收到未知消息:"+arg1.getContentAsString()); }} class MsnContactListAdapter implements MsnContactListListener { private MsnMessenger messenger=null; public MsnContactListAdapter(MsnMessenger messenger) { super(); this.messenger = messenger; } public void contactAddCompleted(MsnMessenger arg0, MsnContact arg1, MsnList arg2) { // TODO Auto-generated method stub } public void contactAddInGroupCompleted(MsnMessenger arg0, MsnContact arg1, MsnGroup arg2) { // TODO Auto-generated method stub } public void contactAddedMe(MsnMessenger arg0, MsnContact arg1) { // TODO Auto-generated method stub } public void contactAddedMe(MsnMessenger arg0, MsnContactPending[] arg1) { // TODO Auto-generated method stub } public void contactListInitCompleted(MsnMessenger arg0) { // TODO Auto-generated method stub } public void contactListSyncCompleted(MsnMessenger arg0) { // TODO Auto-generated method stub } public void contactPersonalMessageChanged(MsnMessenger arg0, MsnContact arg1) { // TODO Auto-generated method stub } public void contactRemoveCompleted(MsnMessenger arg0, MsnContact arg1, MsnList arg2) { // TODO Auto-generated method stub } public void contactRemoveFromGroupCompleted(MsnMessenger arg0, MsnContact arg1, MsnGroup arg2) { // TODO Auto-generated method stub } public void contactRemovedMe(MsnMessenger arg0, MsnContact arg1) { // TODO Auto-generated method stub } public void contactStatusChanged(MsnMessenger arg0, MsnContact arg1) { // TODO Auto-generated method stub } public void groupAddCompleted(MsnMessenger arg0, MsnGroup arg1) { // TODO Auto-generated method stub } public void groupRemoveCompleted(MsnMessenger arg0, MsnGroup arg1) { // TODO Auto-generated method stub } public void ownerDisplayNameChanged(MsnMessenger arg0) { // TODO Auto-generated method stub } public void ownerStatusChanged(MsnMessenger arg0) { // TODO Auto-generated method stub }}
package net.sf.jml.example; import net.sf.jml.MsnContact; import net.sf.jml.MsnLogoutReason; 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);//创建MsnMessenger 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(); } }); } private void listContacts() { //取得MSN好友列表 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()); //发送信息 if(con.getStatus() != MsnUserStatus.OFFLINE) { messenger.sendText(con.getEmail(),"hello"); } } } public static void main(String[] args) throws Exception { String email = www.xiaoshanju; String password = "萧山居"; new SimpleMsn(email, password).start(); } private static class MsnListener extends MsnAdapter { //异常时发生 public void exceptionCaught(MsnMessenger messenger, Throwable throwable) { log.error(messenger + throwable.toString(), throwable); try { Thread.sleep(30000); } catch (InterruptedException e) { e.printStackTrace(); } messenger.login(); } //登录完成时发生 public void loginCompleted(MsnMessenger messenger) { log.info(messenger + " login complete "); } //注销时发生 public void logout(MsnMessenger messenger, MsnLogoutReason reason) { log.info(messenger + " logout"); if (reason == MsnLogoutReason.SessionClosed) { messenger.login(); } } //收到正常信息的时候发生 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); } } }
jml的全称是"Java MSN Messenger Library (JML)"
官方地址是:http://jml.blathersource.org/
现在的最新版本是1.0
下载地址是:http://sourceforge.net/projects/java-jml/files/
- commons-logging-1.1.1.jar (59.4 KB)
- 下载次数: 10
- httpcore-4.1.jar (176.8 KB)
- 下载次数: 11
- jml-1.0b4.jar (315.9 KB)
- 下载次数: 14
发表评论
-
使用LumaQQ来开发QQ机器人
2011-05-04 09:25 1804自从博客园闪存发布了Q ... -
Java 本地接口规范
2011-04-16 23:04 1199JNI是Java Native Interface的缩写,中 ... -
java 和 C++ Socket通信(java作为服务端server,C++作为客户端client,解决中文乱码问题GBK和UTF8)
2011-04-16 22:47 3619代码: http://files.cnblogs.com/ ... -
中国移动CMPP短信开发平台通讯包 2.8
2011-04-16 21:53 2710[size=x-small;]1 软件完全用JAVA开发,便于 ... -
HTML解析器 jsoup
2011-04-11 16:20 1030jsoup 是一款 Java 的HTML 解析器,可直接解析某 ... -
一个简单的文字加密解密类
2011-04-11 14:09 1215我们玩游戏神马的,在安装文件夹里或许会有一些TXT文件,但打开 ... -
谷歌遭甲骨文死磕 高斯林或成救世主?
2011-04-06 09:59 899被誉为Java之父的James Gosling,在从甲骨文高调 ... -
Jigloo
2011-03-25 19:13 1061Jigloo Jigloo 是一个 Eclipse ... -
基于java的网络抓包技术研究与实现
2011-03-25 18:57 1642一、实验内容描述本 ... -
Eclipse全屏插件
2011-03-21 21:55 1013下载地址 -
jsp java分页标签
2010-11-19 14:48 1546package org.whvcse.common; ... -
java之数据库缓存
2010-10-27 18:57 1728import java.io.File; import ja ... -
java 字体对话框
2010-10-21 20:30 1271package org.whsvc.font; 武汉软件 ... -
java servlet生成html
2010-10-17 12:31 8271package com.html; import jav ... -
java下载程序
2010-09-12 18:00 2147import java.io.BufferedInputStr ... -
jsp 上传下载配置文件
2009-10-11 21:51 1790<?xml version="1.0" ... -
jsp 上传下载源代码
2009-10-11 21:48 2225package org.whvcse.upload.impl; ... -
java数据库连接池 V1.0
2009-10-11 21:37 2026package com.mdj.dmdatabase.test ... -
java 纯Socket发送邮件
2009-10-11 21:32 1528import java.io.*; import java. ... -
jdbc读写Excel源代码
2009-10-11 21:29 4262package com.mysql.odbc; import ...
相关推荐
2. **JML(Java Messenger Library)**:JML是基于Java语言实现的MSN Messenger客户端库,它提供了对MSN Messenger服务的接口,使得开发者能够用Java编程语言来创建自定义的MSNMessenger客户端,例如机器人。...
JavaMSN机器人是一个基于Java语言开发的应用程序,它利用JML(Java Messenger Library)库来实现与MSN即时通讯服务的交互。这个系统具有图形用户界面,能够实现自动化聊天功能,为用户提供了一个便捷的方式来模拟...
java msn 实现接口jar包 Java MSN 实现msn发信息
java实现的msn机器人,可以自动应答,主动邀请,主动接受邀请。函数库实现msn所有功能
本文将探讨如何使用Java语言实现MSN Messenger的功能,主要涉及的知识点包括Java编程、即时通讯协议(IM)、JML库以及相关的第三方库。 **JML库介绍** JML(Java Messenger Library)是专为Java开发者设计的一个库...
JML的源码通常包括多个Java类和接口,这些类和接口实现了MSN协议的不同部分,如登录、发送消息、接收消息、添加联系人等功能。开发者可以通过阅读和理解这些源码,学习如何使用Java来处理网络通信和解析XML数据(MSN...
总结来说,Jml插件是一个帮助开发者获取和管理MSN好友列表的工具,它基于Java语言,利用MSN的通讯协议进行工作。通过学习和使用Jml,开发者不仅可以掌握网络编程和协议解析的基本技能,还能了解到如何通过开源项目...
在提供的压缩包中,`openjml.jar`是OpenJML工具的实现,它是一个JML的编译器插件,可以与标准Java编译器配合使用,进行契约检查。 5. **文档生成**:JML的规格可以用作自动生成文档的源,这对于理解和维护代码非常...
"jml-src-1.0b4" 是一个开源项目,其主要目的是提供Java语言对MSN Messenger服务的接口和操作支持。这个项目的源代码库包含了多个目录,每个目录都有特定的功能和用途,使得开发者能够更好地理解和使用这个库来构建...
- **JML (Java Msn Manager Library)**:这是一个专注于MSN通讯管理的Java库。相较于Openfire,JML对MSN的支持更为优化,且使用起来更为简便。 本篇文档将详细介绍如何使用JML来实现导入指定MSN账号的好友列表,并...
首先,"jml-0.9.3.zip"这个压缩包中包含的JML全称为Java Message Library,它是一个旨在简化JMS(Java Message Service)消息路由和转换的库。JMS是Java平台上的一个标准接口,用于在分布式环境中进行异步通信。通过...
在Java中实现朴素贝叶斯算法,可以自定义类来存储和操作这些概率,或者使用现有的库,如Weka、Apache Commons Math或Java Machine Learning Library (jML)。这些库提供了现成的接口和类,使得开发者可以轻松地构建和...
JML(Java Modeling Language)是一种形式化语言,用于描述软件系统的规格,确保代码实现与需求一致。在这个作业中,学生需要理解JML规格,并以此为基础,使用Java实现具体的类。 首先,作业要求学生不使用官方包中...
Roy Tsang开发的基于Java Msn Lib(JML)的Web msn客户端。 您可以通过gmail dot com的roy dot cstsang与我联系。
本篇指南将探讨如何在Java中应用JML来实现Path和PathContainer类。 首先,我们来看JML如何定义Path类。Path代表一个节点序列,通常用于表示图形或数据结构中的路径。在示例中,`MyPath`实现了`Path`接口,它有一个...
java实现计算器 import java.awt.*; import javax.swing.*; public class jisuanqi extends JFrame { JMenuBar jmb; //菜单栏组件 JMenu jm1,jm2,jm3; //菜单组件 JMenuItem jml1, jml2,jml3,jml4,jml5,jml6; //...