🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #19461

java msn zz

#19461
From: pupop
Date: Mon, 05 Jan 2004 03:41
228 lines
15503 bytes
 China  
����:     ��     dW ȫ������  Java ����  Linux  ����Դ��  ��ȫ  Web ����  XML .................  DB2  WebSphere  Lotus ר��  Tivoli ר�� ................. IBM ȫ������    
   ֻ�� + - " " ( )           
      
       IBM ��ҳ   |   ��Ʒ�����   |   ֧��������   |   ���Ի����� 
 
 
 
 
 
 
IBM : developerWorks �й���վ : Java : ���е�����    
 
 
 ��JAVAʵ��MSN Messenger�Ĺ���   
 
 
   
Java ר���л���: 
 
��ѧ 
�������Ʒ 
��������� 
�������� 
ʵ�ü��� 
 
 
 
 
���� (winter.lau@163.com)
2003 �� 12 ��

���ڵļ�ʱͨѶ���������Ŀ����Ҷ���������޷Ǿ�����Ѷ��˾��QQ��΢�?˾��MSN 
Messenger�Լ����׵����ݣ����û�������������Ӧ��������ǰé�ġ�������Ѷ��˾��QQ�Լ����׵��������ڲ�û�й�����ͻ����������֮���ͨѶЭ�鵼�¿����ߺ�����������һ�Ӵ���û�Ⱥ������������ķ���������MSN 
Messenger��һ������ͷ�������-΢�?˾�����ļ�ʱͨѶ�����ƾ������windows����ϵͳ�����΢���Ʒ����Ľ��ܽ�ϣ���ʵ�á������ȶ�������ͨ�õ��ص㣬�ܿ챻�й��û����ܣ�Ŀǰ���û������Լ������������������ÿ�����ȸԾ���Ǹ����ͬʱҲ�ṩ�˿��ŵ�API�Լ����ŵ�
ͨѶЭ�顣�����MSN Plus����һ��������API������������չMSN Messenger���ܵIJ���������ǽ���Ҫ���ܵ�jMSN���Ƿ�װ��MSN Messenger���ŵ�ͨѶЭ���JAVA API��ͨ�����API��������ȫ����ʹ��JAVA����ģ���MSN 
Messenger�����API������Ҳ�ṩһ����JAVA���Ա�д����ij���湦��������MSN Messenger��ǿ���MSN �ͻ�����������ڲ����˿�ƽ̨��JAVA���Կ�������˸����Ҳ��ͬʱ�������������ϵͳ��Ŀǰ�Ѿ�������Ե��и���Linuxϵͳ�Լ�Mac OS�ϣ���Ȼ�����Ӵ�����ϵͳ��

jMSN��һ�������˿����Ŀ���Դ���API�����Դ�http://sourceforge.net/projects/jmsn/վ�������أ�����Ŀ����ҳ�����Ժ���Ϊ�����������API�ĵ���˵�����Ǻ��ġ�������ҷdz�ͷ�ۣ�����û�й�ϵ����ΪjMSN�dz��򵥣����û��ʲô��������²�����Щ˵��Ҳû�й�ϵ��jMSN�
���ҳ���ṩ������������������ͼ��ʾ������jmsn��һ�������JAVAӦ�ó������ؽ�ѹ�����ֱ�����У����еĽ����΢���MSN 
Messenger�����ƣ����������϶��dz�һ�£������IJ���ϵͳ��Linux���������Ƕ�����ֱ�����������΢��ij�������һ����msnm-lib������������ǽ���Ҫ���ܵ�API���������һ����������jmsn������Ѿ����������


 


�������������һ��jmsn�Դ�ij��򿴿����������ʲô��Ĺ��ܰɣ���ѹjmsnѹ������Ŀ¼�л���һ����ִ���ļ�������������JDK����ʹ�ð�װ����װ�ģ������㲻��ִ��������Ҳ���jre�ġ������ʹ����������������������������и��ô����㻹���Կ��������д�ӡ����
����Ϣ��
����jMSN�����java -jar jmsn.jar

jMSN�ĵ�¼�����Լ�����������ͼ��ʾ��


 






Ӧ��˵��������MSN Messenger�Ƿdz����Ƶġ��û�����ͨ�����ͺͽ�����Ϣ�ȡ�������jMSN�������д����п��Կ���jMSN�������֮��ͨѶ����ϸ��Ϣ��

ǰ��������Ҫ�ڽ���jMSN��ŵ�����������������ʲô��Ĺ��ܡ��������ǿ�ʼ���˽���ô����jMSN�Դ��API��msnm-lib��ʵ����Щ���ܡ���ͼ��msnm-lib��jMSN����MSNϵͳ֮��Ĺ�ϵ��Ҳ����˵���ǿ���ͨ��msnm-lib�������MSN������֮���ͨѶ����Ҫ����ȥ���ľ����ͨѶЭ�
��ϸ�ڡ���ʵ��msnm-lib���������˸�������ʹ������ʹ��msnm-lib������һ��MSNӦ�ó����÷dz��ļ򵥣���Ҳ������ǰ���ᵽ��������ȫ���Բ�ȥ���������ṩ�ĺ���API�ĵ���Ե�ʣ���Ϊʹ����ʵ����̫���ˡ�


 


������˵��˵�Ʋ�ֵǮ���л�˵����ô�࣬�������ǾͿ�ʼ�����������Լ�����JAVA�Ŀ�ƽ̨��MSN�ͻ��˳�������������Ҷ������Ѫ�����ͣ�û�?����ʲô�ȶ���д����������˷ܵ������أ��ο����ǻ���JAVA�ġ���ƽ̨�ģ�

�����ȸ��һ�ο����еĴ��������һ����򵥵Ĺ��ܣ������˰���������ʱ�������Զ���֮������ѣ������˸�������Ϣ�������Զ��ظ�һ����ͬ����Ϣ��OK�������ô�򵥵Ĺ��ܵĴ������£�


/*
 * Created on 2003-11-21 by Liudong
 */
package jmsn.demo;

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;
/**
 * MSN��ʾ����
 * @author Liudong
 */
public class MSNDaemon extends Thread {
    private static MSNMessenger msn;

    public static void main(String[] args) {
        msn = new MSNMessenger("youraccount@hotmail.com", "password");
        msn.setInitialStatus(UserStatus.ONLINE);
        msn.addMsnListener(new MSNAdapter(msn));
        msn.login();
        System.out.println("Waiting for the response....");
        //��׽Ctrl+C�������Ա�ע��MSN�ĵ�¼
        Runtime.getRuntime().addShutdownHook(new MSNDaemon());
    }
    /**
     * �û���ֹ����ִ��
     */
    public void run() {
        msn.logout();
        System.out.println("MSN Logout OK");
    }
}
/**
 * MSN��Ϣ�¼�������
 * @author Liudong
 */
class MSNAdapter extends MsnAdapter {

    MSNMessenger messenger;

    public MSNAdapter(MSNMessenger messenger) {
        this.messenger = messenger;
    }
    /**
     * ij������������Ϣ
     */
    public void progressTyping(
        SwitchboardSession ss,
        MsnFriend friend,
        String typingUser) {
        System.out.println(friend.getLoginName() + "����������Ϣ...");
    }
    /**
     * �յ���Ϣ��ʱ��ִ�и÷���
     */
    public void instantMessageReceived(
        SwitchboardSession ss,
        MsnFriend friend,
        MimeMessage mime) {
        System.out.print("���յ���Ϣ��" + friend.getFriendlyName() + "->");
        System.out.println(mime.getMessage());
        try {
            //������ͬ�Ļظ���Ϣ������
            messenger.sendMessage(friend.getLoginName(), mime);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * ��¼�ɹ���ִ�и÷���
     */
    public void loginComplete(MsnFriend own) {
        System.out.println(own.getLoginName() + " Login OK");
    }
    /**
     * ��¼ʧ�ܺ�ִ�и÷���
     */
    public void loginError(String header) {
        System.out.println("Login Failed: " + header);
    }
    /**
     * ��������ʱִ�и÷���
     */
    public void userOffline(String loginName) {
        System.out.println("USER " + loginName + " Logout.");
    }
    /**
     * ��������ʱִ�и÷���
     */
    public void userOnline(MsnFriend friend) {
        System.out.println("USER "+friend.getFriendlyName()+" Login.");
    }
    /**
     * ���˼���Ϊ����ʱִ��
     */
    public void whoAddedMe(MsnFriend friend) {
        System.out.println("USER " + friend.getLoginName() + " Addme.");
        try {
            messenger.addFriend(friend.getLoginName());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * ���˰��ҴӺ����б���ɾ��ʱִ��
     */
    public void whoRemovedMe(MsnFriend friend) {
    System.out.println("USER "+friend.getLoginName()+" Remove me.");
        try {
            messenger.removeFriend(friend.getLoginName());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

�����������õĶ���MsnFriend�Լ�MimeMessage�ֱ�������ʾ�ҵĺ����Լ�MSN��Ϣ�⣬����������Ҫ�˽��Ҳ����MSNMessenger�Լ�MsnAdapter�ˡ���Ȼ��ǰ�������Dz���Ҫ����������������ܣ������ļ�����ȵȡ���MSNMessenger 
��Ӧ��һ���ʺŵ�һ�ε�¼�Ự�����ǽ�������Ҫ����MSNMessenger�����ǵ�¼���õ��ʺš����롢��¼��ij�ʼ״̬�Լ�������ô�������MSN�������Ͻ��յ����κ���Ϣ����msnm-lib�У�����MSN��Ϣ��ͨ��һ����MsnAdapter��������ģ�����ඨ������δ��������յ���Ϣ�����˼���
Ϊ���ѵȵȵ��¼��������߿���������Щ�����Ա�������д��?����������չMsnAdapter����������MSNMessengerʵ��֪������Ҳ��������ǰ������е� msn.addMsnListener(new MSNAdapter(msn)); 
������չMsnAdapter�������������?����Ϣ�ģ��������˸��ҷ���Ϣ�ȡ�������Ҫ������Ϣ����˵�ʱ�����Ҫ�õ�MSNMessenger��ʵ����Ҳ��������ΪʲôҪ��MSNMessenger��ʵ��ݸ�MSNAdapter��ԭ����Ϊ�����ǽ��յ��κ���ϢʱҪ�����˻ظ�һ����ͬ����Ϣ��

��������ǰ������ļ򵥹����Ѿ�����ˣ����߿������Լ��Ļ����Ͻ��в��ԣ�����ʱ��Ҫ�õ�msnm-lib�⣬Ҳ����msnm.jar�ļ�����ͼ������ʱ���һ����ͼ��


 


���ڶ������죺

MSN������һ������Ĺ��ܾ��Ƕ���ͬʱ���죬msnm-lib���������֧��Ҳ�dz��á���MsnAdapter�ж���ķ���instantMessageReceived�ĵ�һ����������ΪSwitchboardSession�������յ���Ϣʱ�����ǿ��Դ���������л�ȡ���������һ���Ự��ʶ��ͬʱ����ͨ��getMsnFriends����ȡ��
�뵱ǰ��������к��ѡ�����Ҫ����������Ϣ��ʱ����ͱ����SwitchboardSession�ж�ȡ���еĺ��Ѳ�������һһ������Ϣ��

�����ļ����䣺

���������ҷ��ֵĹ���msnm-lib��Ψһ���㣬����˵���������ƵIJ��֡�������Է���ʹ��΢���MSN������������ļ�����̨������jMSNȴ�޷����䣬������Ϣ����˵���ӳ�ʱ������̨��������ͬһ����������msnm-lib��������ܲ�û�н��д��?���ڲ�û����ֱ̨������Interne
t�Ļ�������˹���jMSN���ļ�����һֱ��û�а취����һ�����飬ϣ���°汾��msnm-lib�ܽ����������⡣

�ܽ᣺

�������ļ��������е�覴ã�����msnm-lib���ṩ�Ĺ����Ѿ��dz����ˣ��������ҵ�һ�ۿ������ʱ������˵��û�?���������Ҫ�Ķ���������ּ�ڽ������ʹ��msnm-lib�����һ���򵥵�MSN�ͻ��ˣ��������������ʵ�ʵ�Ӧ��ϵͳ�з������ã������ǿ϶��б��Ҹ����뷨������˵�
Ƿ�������������ḻ�ͷ��������ȵȣ���Ȼ��Щ���������ǵ���Ŀ������ʹ���з����κ����⣬��ӭ���Ź�ͬ�о���

�ο����ϣ�

jMSN��ַ�����ģ� http://jmsn.sourceforge.net/ 


�� ��Դ:��Ʈ��ˮ�Ƽ� freecity.cnzju.net��[FROM: pupop]
Technical Details
Message-ID: <4A8caF$9iV@freecity.cnzju.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!news-out.visi.com!petbe.visi.com!feed2.newsreader.com!newsreader.com!maily.cic.tsinghua.edu.cn!news.ccie.net.cn!Freecity

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: f6cb0,4a451b342264c1c4,start
X-Google-Attributes: gidf6cb0,public
X-Google-ArrivalTime: 2004-01-04 19:37:31 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!news-out.visi.com!petbe.visi.com!feed2.newsreader.com!newsreader.com!maily.cic.tsinghua.edu.cn!news.ccie.net.cn!Freecity
From: pupop.bbs@freecity.cnzju.net (pupop)
Newsgroups: cn.bbs.comp.lang.java
Subject: java msn zz
Date: 05 Jan 2004 03:41:47 GMT
Organization: Ʈ��ˮ�Ƽ�
Message-ID: <4A8caF$9iV@freecity.cnzju.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: Java/M.1073274063.A