|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--java.lang.Thread
|
+--rath.msnm.AbstractProcessor
|
+--rath.msnm.SwitchboardSession
친구들과 대화 또는 인스턴트 메시지를 주고 받을때 Channel로 사용되는 Session이다. 이 세션은 사용자의 대화가 끝나면 종료된다.
| Field Summary |
| Fields inherited from class rath.msnm.AbstractProcessor |
callbackMap, in, isLive, msn, out, socket |
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
SwitchboardSession(MSNMessenger msn,
ServerInfo info,
String sessionId)
|
|
| Method Summary | |
void |
acceptFileReceive(int cookie,
File toReceive)
상대방으로부터의 파일 수신 요청을 허락한다. |
protected void |
addMsnFriend(MsnFriend friend)
특정 사용자를 이 세션에 추가한다. |
void |
cleanUp()
스레드가 종료되고 스트림을 닫기 직전에 호출된다. |
void |
close()
이 세션을 종료한다. |
String |
getCookie()
|
int |
getFriendCount()
현재 이 세션에 연결되어있는 친구의 수를 얻어온다. |
MsnFriend |
getMsnFriend()
가장 최근에 이 세션에 들어온 친구를 얻어온다. |
Collection |
getMsnFriends()
|
String |
getSessionId()
현재 세션 id를 문자열 형태로 반환해준다. |
int |
getTimeout()
이 Channel에서 얼마간 아무런 메시지도 오가지 않았을 경우 연결을 종료하게 할 수 있는데, 이곳에 적용되는 Timeout으로 millisecond단위로 얻어온다. |
void |
init()
서버와의 연결이 맺어진 후 해주어야 할 일이 있다면 이곳에 해주도록 한다. |
boolean |
isInFriend(String loginName)
주어진 loginName을 가진 사용자가 이 세션에 물려있는지 아닌지 확인한다. |
protected void |
makeConnection()
해당 server와 tcp/ip 연결을 맺고, 입출력 스트림들을 생성한다. |
void |
processError(Throwable e)
해당 Processor에서 발생되는 모든 예외는 이곳에서 처리한다. |
protected void |
processInstantMessage(IncomingMessage msg,
MimeMessage mime)
인스턴트 메시지가 도착하였을때 그 메시지를 처리하는 메소드이다. |
protected void |
processMimeMessage(IncomingMessage msg)
|
void |
processNotifyMessage(IncomingMessage msg)
Switchboard Server로부터 notify되는 메시지들을 처리한다. |
void |
processRosterInfo(IncomingMessage msg)
|
protected void |
processTypingUser(IncomingMessage msg,
MimeMessage mime)
누군가 자신을 향해 인스턴트 메시지를 날리기 위해 키보드를 다닥다닥 두들기고 있을때 종종 날라오는 메시지이다. |
protected void |
processWhoJoined(IncomingMessage msg)
|
void |
rejectFileReceive(int cookie)
상대방으로부터의 파일 수신 요청을 거절한다. |
protected MsnFriend |
removeMsnFriend(String loginName)
특정 loginName을 가진 사용자를 이 세션에서 제거한다. |
void |
sendFileRequest(ToSendFile file,
FileTransferMessage mime)
이 세션에 물린 사람에게 파일을 전송하겠다는 메시지를 보낸다. |
void |
sendInstantMessage(MimeMessage mime)
인스턴스 메시지를 전송한다. |
void |
sendMessage(MimeMessage mime)
이 세션에 있는 모든 사람에게 메시지를 보낸다. |
void |
sendTypingMessage(MimeMessage mime)
타이핑 중이라는 메시지를 전송한다. |
void |
setCookie(String cookie)
|
void |
setSessionId(String sessionId)
현재 세션의 id를 문자열 형태로 설정한다. |
void |
setTimeout(int timeout)
이 Channel에서 얼마간 아무런 메시지도 오가지 않았을 경우 연결을 종료하게 할 수 있는데, 이곳에 적용되는 Timeout으로 millisecond단위로 설정한다. |
| Methods inherited from class rath.msnm.AbstractProcessor |
getCurrentTransactionId, getServerName, isAutoOutSend, lookupMethod, markTransactionId, processMessage, registerCallback, removeInfiniteTransactionId, run, sendCHLResponse, sendMessage, sendMimeMessage, setAutoOutSend, setServerName |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public SwitchboardSession(MSNMessenger msn,
ServerInfo info,
String sessionId)
| Method Detail |
public String getSessionId()
public void setSessionId(String sessionId)
public String getCookie()
public void setCookie(String cookie)
protected void makeConnection()
throws IOException
AbstractProcessor
makeConnection in class AbstractProcessorIOExceptionpublic void setTimeout(int timeout)
timeout - millisecond단위의 SO_TIMEOUTpublic int getTimeout()
default로 180000(3분)으로 설정되어있다.
public void init()
throws IOException
AbstractProcessor
init in class AbstractProcessorIOExceptionprotected void addMsnFriend(MsnFriend friend)
public MsnFriend getMsnFriend()
public boolean isInFriend(String loginName)
protected MsnFriend removeMsnFriend(String loginName)
public Collection getMsnFriends()
public int getFriendCount()
protected void processMimeMessage(IncomingMessage msg)
throws Exception
Exception
protected void processWhoJoined(IncomingMessage msg)
throws Exception
Exception
public void processNotifyMessage(IncomingMessage msg)
throws Exception
processNotifyMessage in class AbstractProcessorExceptionpublic void cleanUp()
cleanUp in class AbstractProcessor
public void close()
throws IOException
IOException
public void processRosterInfo(IncomingMessage msg)
throws IOException
IOException
protected void processTypingUser(IncomingMessage msg,
MimeMessage mime)
throws IOException
IOException
protected void processInstantMessage(IncomingMessage msg,
MimeMessage mime)
throws IOException
IOException
public void sendMessage(MimeMessage mime)
throws IOException
IOException
public void sendFileRequest(ToSendFile file,
FileTransferMessage mime)
throws IOException
IOException
public void acceptFileReceive(int cookie,
File toReceive)
throws IOException
cookie - 파일 초청시 받았던 쿠키값.toReceive - 다운로드할 내용이 저장될 파일.
IOException
public void rejectFileReceive(int cookie)
throws IOException
cookie - 파일 초청시 받았던 쿠키값.
IOException
public void sendTypingMessage(MimeMessage mime)
throws IOException
IOException
public void sendInstantMessage(MimeMessage mime)
throws IOException
IOExceptionpublic void processError(Throwable e)
AbstractProcessor
processError in class AbstractProcessor
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||