🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

[���]�����java.lang.StackOverError!!

#12218
From: ��������
Date: Wed, 04 Aug 2004 02:12
221 lines
7246 bytes
�����ʱ��û������!
������ִ�е�ʱ��ͳ������쳣 : java.lang.StackOverError
��ʲô����!
�����ָ��!!


/*
 * 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;
import rath.msnm.KeyboardInput;
/**
 * MSN��ʾ����
 * @author Liudong
 */
public class MSNDaemon extends Thread {
	private static MSNMessenger msn;
	public static void main(String[] args) {
		KeyboardInput in=new KeyboardInput();
		System.out.print("�����ʺ�:");
		String strid=in.readString();
		System.out.print("��������:");
		String strpw=in.readString();
		msn = new MSNMessenger(strid,strpw);
		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;
	caidan caidan1=new caidan();

	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) {
		KeyboardInput in=new KeyboardInput();
		System.out.print("���յ���Ϣ��" + friend.getFriendlyName() + "->");
		System.out.println(mime.getMessage());
			System.out.print("�ظ�:");
			String r=in.readString();
			try { 
				mime.setMessage(r);
				messenger.sendMessage(friend.getLoginName(), mime); 
			    } catch (Exception e) { 
			    	e.printStackTrace(); 
				} 
			caidan1.mymenu();
	}	
	/**
	 * ��¼�ɹ���ִ�и÷���
	 */
	public void loginComplete(MsnFriend own) {
		System.out.println(own.getLoginName() + " Login OK");
		caidan1.mymenu();
	}
	/**
	 * ��¼ʧ�ܺ�ִ�и÷���
	 */
	public void loginError(String header) {
		System.out.println("Login Failed: " + header);
	}
	/**
	 * ��������ʱִ�и÷���
	 */
	public void userOffline(String loginName) {
		System.out.println("USER " + loginName + " Logout.");
		caidan1.mymenu();
	}
	/**
	 * ��������ʱִ�и÷���
	 */
	public void userOnline(MsnFriend friend) {
		System.out.println("USER "+friend.getFriendlyName()+" Login.");
		caidan1.mymenu();
	}
	/**
	 * ���˼���Ϊ����ʱִ��
	 */
	public void whoAddedMe(MsnFriend friend) {
		System.out.println("�û�" + friend.getLoginName() + "�����Ϊ����!!");
		try { 
				messenger.addFriend(friend.getLoginName());
				System.out.println("�Ѿ���" + friend.getLoginName() + "Ϊ����!!");
			} catch (Exception e) { 
				e.printStackTrace(); 
			}
			caidan1.mymenu();
		} 
			
	/**
	 * ���˰��ҴӺ����б���ɾ��ʱִ��
	 */
	public void whoRemovedMe(MsnFriend friend) {
		System.out.println("�û� "+friend.getLoginName()+" ɾ������!!");
		try {
			messenger.removeFriend(friend.getLoginName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		caidan1.mymenu();
} 
}
class caidan{
	MSNDaemon tuichu=new MSNDaemon();
	zhudong zhudongcaozuo=new zhudong();
	private int menuchoose;
	public void mymenu(){
		KeyboardInput input=new KeyboardInput();
		do{
		System.out.println("<1> ������Ϣ");
		System.out.println("<2> ��Ӻ���");
		System.out.println("<3> ɾ�����");
		System.out.println("<4> �˳�");
		System.out.print("��ѡ��(1~4):");
		menuchoose=input.readInteger();
	}while((menuchoose!=1)&&(menuchoose!=2)&&(menuchoose!=3)&&(menuchoose!=4));

		switch(menuchoose){
			case 1: zhudongcaozuo.iAddOther();
				break ;
			case 2: zhudongcaozuo.fasong();
				break ;
			case 3: /*���?��*/
				break ;
			case 4: tuichu.run();
				break ;
			default: System.out.println("��������룡��");
				break ;
			}
		
		}
}
class zhudong{
	caidan caidan2=new caidan();
	KeyboardInput in=new KeyboardInput();	
	/**
	 * ����������Ϣ
	 */
	public void fasong(){
		MimeMessage mi=new MimeMessage();
		MSNMessenger sendMess=new MSNMessenger();
		System.out.print("������:");
		String sendId=in.readString();
		System.out.print("��Ϣ:");
		String reMess=in.readString();
		try { 
			mi.setMessage(reMess);
			sendMess.sendMessage(sendId, mi); 
		    } catch (Exception e) { 
		    	e.printStackTrace(); 
			} 
		caidan2.mymenu();
	}
	 /**
          * �������������
          */
          public void iAddOther(){
        	KeyboardInput input=new KeyboardInput();
		MSNMessenger addmess=new MSNMessenger();	        	
        	System.out.print("������Ҫ��ӵ��û�:");
        	String addid=input.readString();
        	try { 
	        	addmess.addFriend(addid);
	        	System.out.println("�Ѿ���" + addid + "Ϊ����!!");
	} catch (Exception a) { 
		System.out.println("�Ѿ���Ϊ����!!");
		a.printStackTrace(); 
		System.out.println("�Ѿ���Ϊ����!!");		
	} 
	caidan2.mymenu();
}			
}

--
��ȥ�Ǹ�������,�б���,�л��������Ѿ�����!
ȡ���֮���ǿջ�����������ϵ�һ���л���!
һ�е�һ�ж�ֻ���������ʱ������Ǵ��ڹ�!
����,����,������ô�ն��Ĵ���,�����ƺ�ûʲô��ϵ!
ֻ������������ҵ�Ψһ!
�ڻ�����,���Ի���Լ�!

�� ��Դ:���ɽ��ˮ bbs.neu.edu.cn��[FROM: 202.118.7.74]
Technical Details
Message-ID: <4DUILU$C4_@bbs.neu.edu.cn>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!NEU

Show Full Headers
Complete Article Headers
X-Google-Thread: f6cb0,6fbc39a115bd2a8c,start
X-Google-Attributes: gidf6cb0,public
X-Google-Language: Chinese,GB
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!NEU
From: kwolf2003.bbs@bbs.neu.edu.cn (��������)
Newsgroups: cn.bbs.comp.lang.java
Subject: [���]�����java.lang.StackOverError!!
Date: 04 Aug 2004 02:12:30 GMT
Organization: ��ɽ��ˮ
Message-ID: <4DUILU$C4_@bbs.neu.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: java/M.1091585550.A
Lines: 221