班哥的专栏

班哥就是班加罗尔,但班哥没去过班加罗尔。

用户操作
[即时聊天] [发私信] [加为好友]
班哥ID:turbochen
191134次访问,排名387好友0人,关注者0
turbochen的文章
原创 74 篇
翻译 0 篇
转载 23 篇
评论 143 篇
班哥的公告


Locations of visitors to this page
最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
turbochen:那是因为你来晚了。csdn网站一天一变。
ninolilin:hen hao zheng shi wo xiang yao de
qqj007:很感兴趣,正在学J2ME,能否发一份给我,我邮箱:0775x@163.com 谢谢~^_^
wangpancom:班哥,你好,小弟最近正在学习BeahShel,由于上网不方便,不能经常上,你能给我发一份你学习时的总结吧?先谢了....QQ:413819965
文章分类
收藏
    相册
    等待图片
    深圳反日大游行
    文章插图
    五子棋游戏画面
    Framework
    Hibernate
    Struts
    开发工具
    Ant
    Eclipse
    JBoss
    Tomcat
    实用组件
    BeanShell
    JasperReport
    JDom
    JFreechart
    友情链接
    IBM DeveloperWorks
    Java.net
    JavaLobby
    JavaOne
    Java憩园
    TheServerSide.COM
    榕树下
    黎明时空
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 MSN机器人梦工厂(2)收藏

    新一篇: MSN机器人梦工厂(3) | 旧一篇: MSN机器人梦工厂(1)

    现在我们就开始实现自制MSN机器人梦想。

    我们先不要去研究通篇韩文的开发文档。先跟笔者一起来研究一个有趣的机器人,看看它是怎么工作的。然后再一步步深入研究机器人的工作原理。

    这是一个有趣的机器人,你对它说什么,它就应什么。我把它叫做应声虫机器人。来看看它的结构:

    import java.util.Properties;

    import rath.msnm.MSNMessenger;
    import rath.msnm.SwitchboardSession;
    import rath.msnm.UserStatus;
    import rath.msnm.entity.MsnFriend;
    import rath.msnm.event.MsnListener;
    import rath.msnm.ftp.VolatileDownloader;
    import rath.msnm.ftp.VolatileTransferServer;
    import rath.msnm.msg.MimeMessage;

    /**
    ?* MSN应声虫机器人。
    ?* @author Turbo Chen
    ?* @create 2004-7-29
    ?*/
    public class YesmanRobot
    {
    ??? public static void main(String[] args)
    ??? {
    ??????? MSNMessenger msn = new MSNMessenger("yourname@hotmail.com", "xxxxxxxx");
    ??????? msn.setInitialStatus(UserStatus.ONLINE);
    ??????? msn.addMsnListener(new YesmanRobotAdapter(msn));
    ??????? msn.login();
    ??? }
    ???
    ??
    }


    class YesmanRobotAdapter implements MsnListener
    {

    ??? MSNMessenger msn;

    ??? public YesmanRobotAdapter(MSNMessenger msn)
    ??? {
    ??????? this.msn = msn;
    ??? }

    ??? /**
    ???? * 收到消息事件。当收到消息时,会自动调用此方法。
    ???? */
    ??? public void instantMessageReceived(SwitchboardSession ss, MsnFriend friend,
    ??????????? MimeMessage mmsg)
    ??? {
    ??????? try
    ??????? {
    ??????????? //发送相同的回复信息给发送者
    ??????????? MimeMessage newMsg = new MimeMessage(
    ??????????????????? "我是MSN应声虫,你说啥我应啥:" + mmsg.getMessage());
    ??????????? newMsg.setKind(MimeMessage.KIND_MESSAGE);
    ??????????? System.out.println(newMsg.getMessage());
    ??????????? msn.sendMessage(friend.getLoginName(), newMsg);
    ??????? } catch (Exception e)
    ??????? {
    ??????????? e.printStackTrace();
    ??????? }
    ??? }

    ?? ....???
    }

    其中YesmanRobot是机器人的主类,为了让机器人工作,要先让它登入到MSN才行,相关代码如下:

    ??????? MSNMessenger msn = new MSNMessenger("yourname@hotmail.com", "xxxxxxxx");
    ??????? msn.setInitialStatus(UserStatus.ONLINE);
    ??????? msn.addMsnListener(new YesmanRobotAdapter(msn));
    ??????? msn.login();

    在这里创建了一个MSNMessenger对象,传入登入帐号和密码,使用setInitialStatus方法设置它登入的的状态为'在线',最后是调用login方法登入。

    为了使机器人可以达到“应声虫”的功能,在登入之前,我们为它添加了一个监听器。这个监听器是MSNListener的一个实现类。在这里我们实现了一个YesmanRobotAdapter类,它里面只实现一个instantMessageReceived方法,当有消息送给机器人时,会触发此方法,在这个方法里,我们的机器人将对方送过来的消息又送回给了对方。这样就实现的应声虫的功能。

    在实际的完整例子中,你会发现MSNListener有多达28个接口,也就是说它除了可以监听收到消息的事件,还提供了许多其它的事件供我们使用。在以后的文章中,我们会慢慢的接触到这些事件。

    通过这个应声虫机器人,我们知道,实现自己功能的机器人一点都不难。只需要在instantMessageReceived方法中处理收到的消息并回应,就变成你自己的机器人了。在后面的内容中,我们会更深入机器人内部,看看它的工作原理。

    发表于 @ 2004年07月29日 14:11:00|评论(loading...)|编辑

    新一篇: MSN机器人梦工厂(3) | 旧一篇: MSN机器人梦工厂(1)

    评论

    #瞄瞄 发表于2004-07-29 17:45:00  IP: 61.49.230.*
    咱们可以讨论MSN机器人了
    不过我要先装系统~今早开机系统就坏了,C盘什么都没了还要重新装~别提多烦了
    #江江王 发表于2005-09-19 18:42:00  IP: 211.100.21.*
    请问下那个msn包从哪来啊
    #软件资讯 发表于2006-04-28 10:04:00  IP: 221.220.241.*
    JMSN如何主动发送消息?
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 班哥