パッケージ org.aiwolf.server.net
クラス TcpipServer
- java.lang.Object
-
- 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
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 protected GameData
gameData
Current game dataprotected GameSetting
gameSetting
Game Settingprotected boolean
isWaitForClient
protected java.util.Map<Agent,java.lang.Integer>
lastTalkIdxMap
protected java.util.Map<Agent,java.lang.Integer>
lastWhisperIdxMap
protected int
limit
connection limitprotected java.util.Map<Agent,java.lang.String>
nameMap
protected int
port
Server Portprotected java.util.Set<ServerListener>
serverListenerSet
protected java.net.ServerSocket
serverSocket
protected BidiMap<java.net.Socket,Agent>
socketAgentMap
protected int
timeLimit
Time limit for waiting request
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 TcpipServer(int port, int limit, GameSetting gameSetting)
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 boolean
addServerListener(ServerListener e)
add server listenervoid
close()
close connectionsvoid
dayFinish(Agent agent)
called when day finishedvoid
dayStart(Agent agent)
called when day startedvoid
finish(Agent agent)
send finished messagejava.util.List<Agent>
getConnectedAgentList()
java.lang.String
getName(Agent agent)
int
getTimeLimit()
void
init(Agent agent)
boolean
isWaitForClient()
protected java.util.List<TalkToSend>
minimize(Agent agent, java.util.List<TalkToSend> list, java.util.Map<Agent,java.lang.Integer> lastIdxMap)
delete talks already sentboolean
removeServerListener(ServerListener e)
remove server listenerprotected java.lang.Object
request(Agent agent, Request request)
send data to clientAgent
requestAttackTarget(Agent agent)
Agent
requestDivineTarget(Agent agent)
Agent
requestGuardTarget(Agent agent)
java.lang.String
requestName(Agent agent)
Request agent's nameRole
requestRequestRole(Agent agent)
Request roles that agent requestjava.lang.String
requestTalk(Agent agent)
Agent
requestVote(Agent agent)
java.lang.String
requestWhisper(Agent agent)
protected void
send(Agent agent, Request request)
send data to clientvoid
setGameData(GameData gameData)
void
setGameSetting(GameSetting gameSetting)
set GameSettingvoid
setTimeLimit(int timeLimit)
void
setWaitForClient(boolean isWaitForClient)
void
stopWaitingForConnection()
void
waitForConnection()
-
-
-
フィールドの詳細
-
port
protected int port
Server Port
-
limit
protected int limit
connection limit
-
isWaitForClient
protected boolean isWaitForClient
-
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()
-
getConnectedAgentList
public java.util.List<Agent> getConnectedAgentList()
- 定義:
getConnectedAgentList
インタフェース内GameServer
- 戻り値:
-
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
-
-
init
public void init(Agent agent)
- 定義:
init
インタフェース内GameServer
-
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
- 戻り値:
-
requestVote
public Agent requestVote(Agent agent)
- 定義:
requestVote
インタフェース内GameServer
- 戻り値:
-
requestDivineTarget
public Agent requestDivineTarget(Agent agent)
- 定義:
requestDivineTarget
インタフェース内GameServer
- 戻り値:
-
requestGuardTarget
public Agent requestGuardTarget(Agent agent)
- 定義:
requestGuardTarget
インタフェース内GameServer
- 戻り値:
-
requestAttackTarget
public Agent requestAttackTarget(Agent agent)
- 定義:
requestAttackTarget
インタフェース内GameServer
- 戻り値:
-
finish
public void finish(Agent agent)
インタフェースからコピーされた説明:GameServer
send finished message- 定義:
finish
インタフェース内GameServer
-
setGameData
public void setGameData(GameData gameData)
- 定義:
setGameData
インタフェース内GameServer
-
setGameSetting
public void setGameSetting(GameSetting gameSetting)
インタフェースからコピーされた説明:GameServer
set GameSetting- 定義:
setGameSetting
インタフェース内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
-
-