Class ClientUnit

public class ClientUnit
implements ProtocolInterface

Title: 폰에서 사용하는 클라이언트 프로토콜 유닛

Description:

Copyright: Copyright (c) 2002

Company:

Version:
1.0
Author:
unascribed
Constructor Detail

ClientUnit

public ClientUnit()
ClientUnit 서비스 시작
Parameters:
ip - 서버주소
port - 서버포트
userId - 유저아이디

Method Detail

isEnable

public final boolean isEnable()
네트웤 가능여부
Returns:
boolean 가능여부

protocolTest

public final void protocolTest(String paramUserId)
protocol을 맞춰보기 위한 테스트 목적으로 제공

getUserSerial

public final byte getUserSerial()
현 채팅방의 유저번호 얻기
Returns:
byte 유저번호

getChatRoomId

public final byte getChatRoomId()
현 채팅방 번호 얻기
Returns:
byte 채팅방 번호

setUserId

public final void setUserId(String id)
유저 아이디 설정
Parameters:
id - 유저아이디

getUserId

public final String getUserId()
유저 아이디 얻기
Returns:
id 유저아이디

startService

public boolean startService(String ip,
                            int port,
                            String userId)
TestClient 서비스 시작
Returns:
boolean 시작결과

stopService

public final boolean stopService()
TestClient 서비스 종료
Returns:
boolean 함수수행결과

startChatReader

public final void startChatReader()
채팅중 들어오는 메세지 읽기 스레드 시작

stopChatReader

public final void stopChatReader()
채팅중 들어오는 메세지 읽기 스레드 종료

chat_logout

private final void chat_logout()
채팅방에서 로그아웃한 뒤 대기실로 들어간다 (->) major, minor, service(CHAT_LOGOUT), byte(방번호), byte(유저번호), String(유저아이디) (<-) major, minor, service(CHAT_LOGOUT), byte(결과[0|1]), byte(대기실 유저번호) *

chatuser_logout

private final void chatuser_logout()
채팅방에서 특정유저 접속종료 메세지 통고받기 (<-) major, minor, service(CHATUSER_LOGOUT), byte(유저번호), String(유저아이디) * (->) No

login

private final byte login(String id)
서버(채팅대기실)에 로그인 (sinario) 처음 한번만 이뤄진다 (->) major, minor, service(LOGIN), string(id) (<-) major, minor, service(LOGIN), byte(result[0|1]), byte(roomNo), byte(userNo) * * [result] * 0: 로그인 실패 * 1: 로그인 성공 * * @return byte [result] *

get_chatroom_list

private final Vector get_chatroom_list()
채팅방 리스트 요구 (->) major, minor, service(GET_CHATROOM_LIST) (<-) major, minor, service(GET_CHATROOM_LIST), byte(방갯수), byte(방번호), String(방제목) * * @return Vector 방번호(String),방제목(String) *

make_chatroom

private final byte make_chatroom(byte 인원,
                                 String 방제목,
                                 String 암호)
채팅방 생성 (<-) major, minor, service(MAKE_CHATROOM), byte(총인원), String(방제목), byte(비밀/공개), String(암호[비밀 방일경우]) * (->) major, minor, service(MAKE_CHATROOM), 생성결과(실패|성공 [0|1])
Returns:
byte 0x01(성공), 0x00(실패)

chat_login

private final byte chat_login(String 유저아이디,
                              byte 입실방번호,
                              byte 대기실유저번호)
채팅방에 로그인 (sinario) 채팅방에 로그인후, 대기실 로그아웃이 서버내에서 자동으로 처리된다 (<-) major, minor, service(CHAT_LOGIN), String(유저아이디), byte(입실할 방번호), byte(대기실 유저번호) * (->) major, minor, service(CHAT_LOGIN), byte(실패|성공[0|1])
Returns:
byte 채팅방 유저번호 (-1 : 로그인 실패)

get_standby_user_list

private final Vector get_standby_user_list()
대기실의 참여자 리스트 요구 (->) major, minor, service(GET_STANDBY_USER_LIST) (<-) major, minor, service(GET_STANDBY_USER_LIST), byte(총갯수), String(id), byte(no) * * @return Vector 아이디/번호 *

get_chatroom_user_list

private final Vector get_chatroom_user_list(byte 방번호)
특정 채팅방의 참여자 리스트 요구 (->) major, minor, service(GET_CHATROOM_USER_LIST), byte(방번호) (<-) major, minor, service(GET_CHATROOM_USER_LIST), byte(총유저갯수), String(유저 아이디), (byte)유저 번호 * * @return Vector 채팅방 유저리스트 (아이디/번호) *

message

private final void message(byte 방번호,
                           byte 유저번호,
                           String 유저아이디,
                           String 메세지)
메세지 전송 (->) major, minor, service(SEND_MESSAGE), byte(방번호), byte(유저번호), String(유저아이디), String(메세지) (<-) major, minor, service(SEND_MESSAGE), byte(방번호), byte(유저번호), String(유저아이디), String(메세지) *

exit_room_user

private final void exit_room_user(byte 방번호,
                                  byte 유저번호,
                                  String 유저아이디)
특정 채팅방(대기실포함)에서 참여자 퇴장 (sinario) 방번호가 대기실번호가 아니라면, 퇴장처리후 자동적으로 대기실로 정보를 옮긴다 (->) major, minor, service(EXIT_ROOM_USER), byte(방번호), byte(유저번호), String(유저아이디) (<-) major, minor, service(EXIT_ROOM_USER), byte(방번호), byte(유저번호) *

destroy_chatroom

private final void destroy_chatroom(byte 방번호)
채팅방 종료 및 삭제 (sinario) 스펙상 방장이 없으므로, 방에 한명이라도 남아있다면 방을 강제종료 할수 없다 (->) major, minor, service(DESTROY_CHATROOM), byte(방번호) (<-) No *

invite

private final byte invite(byte 초대의뢰방번호,
                          String 초대자아이디,
                          byte 초대할유저방번호,
                          String 초대할아이디,
                          byte 초대할유저번호)
채팅대기실의 유저를 특정 채팅방으로 초대 (->) major, minor, service(INVITE), byte(초대의뢰방번호), String(초대자아이디), byte(초대할유저방번호), byte(초대할아이디), byte(초대할유저번호) (<-) major, minor, service(INVITE), byte(결과[0x00실패|0x01성공]) * * (!) 초대할유저방번호 : 현재는 대기실(99)로 세팅되어있다 * * @return byte 초대요청 결과 [0x00 실패| 0x01 성공] *

sendInviteMsg

private final void sendInviteMsg(byte roomNo,
                                 String userId)
특정방에 있는 유저에게 초대메세지 보내기

sendFrame

private final void sendFrame(byte service,
                             byte[] body)
요구 전송
Parameters:
service - 서비스 구분값 (예: LOGIN, SEND_MESSAGE 등 ProtocolInterface에서 정의된값)
body[] - 결과