|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--rath.msnm.MSNMessenger
MSN 메신져 서버에 접속하고 이것저것을 하기 위해 Entry point가 되는 클래스이다. login을 요청하고 loginComplete 이벤트가 발생된 후부터 이것저것 메소드를 사용할 수 있다. 그렇지 않으면 NS proc 미생성으로 NullPointerException을 만날것이다.
MSNMessenger msn = new MSNMessenger( "xiguel@hotmail.com", "12341234" );
msn.setInitialStatus( UserStatus.ONLINE );
msn.addMsnListener( new MsnAdapter() {
public void progressTyping( SwitchboardSession ss,
MsnFriend friend, String typingUser )
{
System.out.println( "Typing on " + friend.getLoginName() );
}
public void instantMessageReceived( SwitchboardSession ss,
MsnFriend friend, MimeMessage mime )
{
System.out.println( "*** MimeMessage from " + friend.getLoginName() );
System.out.println( mime.getMessage() );
System.out.println( "*****************************" );
}
});
msn.login();
| Field Summary | |
protected ArrayList |
listeners
|
| Constructor Summary | |
MSNMessenger()
MSNMessenger 객체를 생성한다. |
|
MSNMessenger(String loginName,
String password)
주어진 account정보로 MSNMessenger 객체를 생성한다. |
|
| Method Summary | |
void |
addFriend(String loginName)
|
void |
addMsnListener(MsnListener l)
서버로부터 발생되는 이벤트나 메시지들을 처리할 MsnListner 인터페이스를 설정한다. |
void |
doCall(String loginName)
대화요청을 건다. |
SwitchboardSession |
doCallWait(String loginName)
doCall과 같은 일을 하지만, 세션이 연결될때까지 계속 기다린다는 것이 다르다. |
SwitchboardSession |
findSwitchboardSession(String loginName)
해당 loginName이 포함된 세션중 무작위로 첫번째 세션을 찾아 반환한다. |
SwitchboardSession |
findSwitchboardSessionAt(String loginName)
해당 loginName과 1:1로 연결된 세션을 찾아준다. |
void |
fireAddFailedEvent(int errcode)
|
void |
fireBuddyListModifiedEvent()
|
void |
fireFilePostedEvent(SwitchboardSession ss,
int cookie,
String filename,
int filesize)
|
void |
fireFileReceiveErrorEvent(VolatileDownloader down,
Throwable e)
|
void |
fireFileReceiveStartedEvent(VolatileDownloader down)
|
void |
fireFileSendAcceptedEvent(SwitchboardSession ss,
int cookie)
|
void |
fireFileSendErrorEvent(VolatileTransferServer server,
Throwable e)
|
void |
fireFileSendRejectedEvent(SwitchboardSession ss,
int cookie,
String reason)
|
void |
fireFileSendStartedEvent(VolatileTransferServer server)
|
void |
fireInstantMessageEvent(SwitchboardSession ss,
MsnFriend friend,
MimeMessage mime)
|
void |
fireJoinSessionEvent(SwitchboardSession ss,
MsnFriend friend)
|
void |
fireListOnlineEvent(MsnFriend friend)
|
void |
fireLoginCompleteEvent(MsnFriend own)
|
void |
fireLoginErrorEvent()
|
void |
firePartSessionEvent(SwitchboardSession ss,
MsnFriend friend)
|
void |
fireProgressTypingEvent(SwitchboardSession ss,
MsnFriend friend,
String typeuser)
|
void |
fireRenameNotifyEvent(MsnFriend friend)
|
void |
fireSwitchboardSessionEndedEvent(SwitchboardSession ss)
|
void |
fireSwitchboardSessionStartedEvent(SwitchboardSession ss)
|
void |
fireUserOfflineEvent(String loginName)
|
void |
fireUserOnlineEvent(MsnFriend friend)
|
void |
fireWhoAddedMeEvent(MsnFriend friend)
|
void |
fireWhoRemovedMeEvent(MsnFriend friend)
|
BuddyGroup |
getBuddyGroup()
|
String |
getInitialStatus()
현재 설정된 초기 상태코드를 얻어온다. |
LocalCopy |
getLocalCopy()
|
String |
getLoginName()
설정된 로그인 이름(LoginName)을 반환한다. |
String |
getMyStatus()
현재 자기 자신의 상태코드값을 얻어온다. |
MsnFriend |
getOwner()
자기 자신의 MsnFriend 인스턴스를 반환한다. |
String |
getPassword()
사용자의 비밀번호를 반환한다. |
boolean |
isLoggedIn()
현재 로그인 된 상태인지 확인한다. |
void |
login()
로그인을 시작한다. |
void |
login(String username,
String password)
주어진 이름과 비밀번호로 로그인을 시작한다. |
void |
logout()
열려있던 모든 Switchboard session과의 연결을 종료하고 DS, NS에 Logout한 후 연결을 종료한다. |
void |
removeFriend(String loginName)
|
void |
removeMsnListener(MsnListener l)
해당 이벤트리스너를 해제한다. |
void |
sendFileRequest(String loginName,
File file,
String sessionId)
해당 sessionId 세션으로 파일을 전송하기 위해 loginName에게 파일을 송신요청 메시지를 보낸다. |
void |
sendFileRequest(String loginName,
File file,
SwitchboardSession session)
해당 sessionId 세션으로 파일을 전송하기 위해 loginName에게 파일을 송신요청 메시지를 보낸다. |
boolean |
sendMessage(MimeMessage msg,
SwitchboardSession session)
주어진 loginName을 가진 사용자에게 MIME 메시지를 전달한다. |
boolean |
sendMessage(String loginName,
MimeMessage msg)
주어진 loginName을 가진 사용자에게 MIME 메시지를 전달한다. |
boolean |
sendMessage(String loginName,
MimeMessage msg,
String sessionId)
주어진 loginName을 가진 사용자에게 MIME 메시지를 전달한다. |
void |
setInitialStatus(String code)
로그인 할때의 초기 상태값을 설정한다. |
void |
setMyFriendlyName(String newName)
|
void |
setMyStatus(String status)
자신의 상태를 변경한다. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected ArrayList listeners
| Constructor Detail |
public MSNMessenger()
public MSNMessenger(String loginName,
String password)
loginName - 사용할 login 이름. (e.g. windrath@hotmail.com)password - 자신의 password| Method Detail |
public BuddyGroup getBuddyGroup()
public LocalCopy getLocalCopy()
public void setInitialStatus(String code)
UserStatus 인터페이스에
선언되어있는 상수들을 사용하면 된다.
public String getInitialStatus()
public boolean isLoggedIn()
public void addMsnListener(MsnListener l)
public void fireInstantMessageEvent(SwitchboardSession ss,
MsnFriend friend,
MimeMessage mime)
public void fireJoinSessionEvent(SwitchboardSession ss,
MsnFriend friend)
public void fireListOnlineEvent(MsnFriend friend)
public void fireLoginCompleteEvent(MsnFriend own)
public void firePartSessionEvent(SwitchboardSession ss,
MsnFriend friend)
public void fireProgressTypingEvent(SwitchboardSession ss,
MsnFriend friend,
String typeuser)
public void fireSwitchboardSessionStartedEvent(SwitchboardSession ss)
public void fireSwitchboardSessionEndedEvent(SwitchboardSession ss)
public void fireUserOnlineEvent(MsnFriend friend)
public void fireUserOfflineEvent(String loginName)
public void fireFilePostedEvent(SwitchboardSession ss,
int cookie,
String filename,
int filesize)
public void fireFileSendAcceptedEvent(SwitchboardSession ss,
int cookie)
public void fireFileSendRejectedEvent(SwitchboardSession ss,
int cookie,
String reason)
public void fireFileSendStartedEvent(VolatileTransferServer server)
public void fireFileReceiveStartedEvent(VolatileDownloader down)
public void fireFileSendErrorEvent(VolatileTransferServer server,
Throwable e)
public void fireFileReceiveErrorEvent(VolatileDownloader down,
Throwable e)
public void fireWhoAddedMeEvent(MsnFriend friend)
public void fireWhoRemovedMeEvent(MsnFriend friend)
public void fireBuddyListModifiedEvent()
public void fireAddFailedEvent(int errcode)
public void fireLoginErrorEvent()
public void fireRenameNotifyEvent(MsnFriend friend)
public void removeMsnListener(MsnListener l)
public String getLoginName()
public String getPassword()
public MsnFriend getOwner()
public void login(String username,
String password)
public void login()
public void logout()
public void setMyStatus(String status)
throws IOException
IOExceptionpublic String getMyStatus()
public void setMyFriendlyName(String newName)
throws IOException
IOException
public void doCall(String loginName)
throws IOException
보통 연결이 이루어지는데는 2-3초 정도의 시간이 걸린다.
IOException
public void addFriend(String loginName)
throws IOException
IOException
public void removeFriend(String loginName)
throws IOException
IOException
public SwitchboardSession doCallWait(String loginName)
throws IOException,
InterruptedException
Object.wait 메소드를 사용하여 기다리게 되고, 세션 연결 메시지가 올때까지 계속 대기하게 된다.
IOException
InterruptedExceptionpublic SwitchboardSession findSwitchboardSession(String loginName)
public SwitchboardSession findSwitchboardSessionAt(String loginName)
public boolean sendMessage(String loginName,
MimeMessage msg)
throws IOException
IOException
public boolean sendMessage(String loginName,
MimeMessage msg,
String sessionId)
throws IOException
물론 sessionId가 null이고 loginName을 포함하는 세션이 존재하지 않는다면 전송되지 않고 false를 반환한다.
IOException
public boolean sendMessage(MimeMessage msg,
SwitchboardSession session)
throws IOException
IOException
public void sendFileRequest(String loginName,
File file,
String sessionId)
throws IOException
IOException
public void sendFileRequest(String loginName,
File file,
SwitchboardSession session)
throws IOException
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||