Article View: cn.bbs.comp.lang.java
Article #19461java msn zz
From: pupop
Date: Mon, 05 Jan 2004 03:41
Date: Mon, 05 Jan 2004 03:41
228 lines
15503 bytes
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/
[m[1;34m�� ��Դ:��Ʈ��ˮ�Ƽ� freecity.cnzju.net��[FROM: pupop][m
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!FreecityShow 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