public void run() {
        try {/*ڑv*/
            ConnectedLock.lock();
            boolean start_flag = ServerCom.sendConnectionStart();
            if (!start_flag) {/*ʂ͂߂*/
                Connected = CODE_CANNNOT_START_COMMUNICATION;
                //KICKED
                return;
            }
            Connected = CODE_CONNECTED;
        } catch (Exception e){
            e.printStackTrace();
            Connected = CODE_ERROR;
        } finally {
            ConnectedCond.signalAll();
            ConnectedLock.unlock();
        }
        //ACCEPT
        while (Running) {
            //TCY0Ȃ
            if (Queue.size() <= 0) {
                //ϐ҂
                if(!Queue.change_wait(false)){
                    continue;
                }
            }
            //NGXg擾
            Request req = Queue.remove();
            if(req == null)continue;
            //NGXgM
            ServerCom.sendRequest(req);
            //NCAgɖ߂̂͏ϐ󂯂ClientThreadĂ
        }
        ServerCom.sendConnectionEnd();
        ConnectedLock.lock();
        Disconnected = true;
        DisconnectedCond.signalAll();
        ConnectedLock.unlock();
    }