パッケージ org.aiwolf.server.net

クラス TcpipServer

  • すべての実装されたインタフェース:
    GameServer

    public class TcpipServer
    extends java.lang.Object
    implements GameServer
    Game server which communicates with clients via TCP/IP connections.
    作成者:
    tori and otsuki
    • フィールドの詳細

      • port

        protected int port
        Server Port
      • limit

        protected int limit
        connection limit
      • isWaitForClient

        protected boolean isWaitForClient
      • socketAgentMap

        protected BidiMap<java.net.Socket,​Agent> socketAgentMap
      • gameData

        protected GameData gameData
        Current game data
      • gameSetting

        protected GameSetting gameSetting
        Game Setting
      • nameMap

        protected java.util.Map<Agent,​java.lang.String> nameMap
      • serverListenerSet

        protected java.util.Set<ServerListener> serverListenerSet
      • lastTalkIdxMap

        protected java.util.Map<Agent,​java.lang.Integer> lastTalkIdxMap
      • lastWhisperIdxMap

        protected java.util.Map<Agent,​java.lang.Integer> lastWhisperIdxMap
      • serverSocket

        protected java.net.ServerSocket serverSocket
      • timeLimit

        protected int timeLimit
        Time limit for waiting request
    • コンストラクタの詳細

      • TcpipServer

        public TcpipServer​(int port,
                           int limit,
                           GameSetting gameSetting)
        パラメータ:
        port -
        limit -
    • メソッドの詳細

      • waitForConnection

        public void waitForConnection()
                               throws java.io.IOException,
                                      java.net.SocketTimeoutException
        例外:
        java.io.IOException
        java.net.SocketTimeoutException
      • stopWaitingForConnection

        public void stopWaitingForConnection()
      • send

        protected void send​(Agent agent,
                            Request request)
        send data to client
        パラメータ:
        agent -
        sendText -
      • minimize

        protected java.util.List<TalkToSend> minimize​(Agent agent,
                                                      java.util.List<TalkToSend> list,
                                                      java.util.Map<Agent,​java.lang.Integer> lastIdxMap)
        delete talks already sent
        パラメータ:
        agent -
        list -
        lastIdxMap -
        戻り値:
      • request

        protected java.lang.Object request​(Agent agent,
                                           Request request)
        send data to client
        パラメータ:
        agent -
        sendText -
      • dayStart

        public void dayStart​(Agent agent)
        インタフェースからコピーされた説明: GameServer
        called when day started
        定義:
        dayStart インタフェース内 GameServer
      • dayFinish

        public void dayFinish​(Agent agent)
        インタフェースからコピーされた説明: GameServer
        called when day finished
        定義:
        dayFinish インタフェース内 GameServer
      • requestName

        public java.lang.String requestName​(Agent agent)
        インタフェースからコピーされた説明: GameServer
        Request agent's name
        定義:
        requestName インタフェース内 GameServer
        戻り値:
      • requestRequestRole

        public Role requestRequestRole​(Agent agent)
        インタフェースからコピーされた説明: GameServer
        Request roles that agent request
        定義:
        requestRequestRole インタフェース内 GameServer
        戻り値:
      • requestTalk

        public java.lang.String requestTalk​(Agent agent)
        定義:
        requestTalk インタフェース内 GameServer
        戻り値:
      • requestWhisper

        public java.lang.String requestWhisper​(Agent agent)
        定義:
        requestWhisper インタフェース内 GameServer
        戻り値:
      • finish

        public void finish​(Agent agent)
        インタフェースからコピーされた説明: GameServer
        send finished message
        定義:
        finish インタフェース内 GameServer
      • isWaitForClient

        public boolean isWaitForClient()
        戻り値:
        isWaitForClient
      • setWaitForClient

        public void setWaitForClient​(boolean isWaitForClient)
        パラメータ:
        isWaitForClient - セットする isWaitForClient
      • close

        public void close()
        インタフェースからコピーされた説明: GameServer
        close connections
        定義:
        close インタフェース内 GameServer
      • addServerListener

        public boolean addServerListener​(ServerListener e)
        add server listener
        パラメータ:
        e -
        戻り値:
        関連項目:
        Set.add(java.lang.Object)
      • removeServerListener

        public boolean removeServerListener​(ServerListener e)
        remove server listener
        パラメータ:
        o -
        戻り値:
        関連項目:
        Set.remove(java.lang.Object)
      • getName

        public java.lang.String getName​(Agent agent)
      • getTimeLimit

        public int getTimeLimit()
        戻り値:
        timeLimit
      • setTimeLimit

        public void setTimeLimit​(int timeLimit)
        パラメータ:
        timeLimit - セットする timeLimit