package scotlandyard.server;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import scotlandyard.shared.Player;
import scotlandyard.shared.messaging.Message;
import net.zschech.gwt.comet.server.CometServlet;
import net.zschech.gwt.comet.server.CometServletResponse;
public class GameCometServlet extends CometServlet {
@Override
protected void doComet(CometServletResponse cometResponse) throws ServletException, IOException {
HttpServletRequest request = cometResponse.getRequest();
if (request == null)
System.out.println("Request � null");
HttpSession session = request.getSession();
if (session == null)
System.out.println("Session � null");
GameServer myGame = (GameServer)session.getAttribute("GameServerInstance");
Player me = (Player)session.getAttribute("PlayerInstance");
//while (true){
if(myGame == null){
System.out.println("O jogo � nulO!");
}
if (me == null){
System.out.println("Eu n�o tenho nome!");
}
else{
//System.out.println("O jogador �: "+myName);
}
Message msg = myGame.getMessage(me);
try{
Thread.sleep(1000);
}catch(Exception e){
}
if (msg != null){
//cometResponse.write("oi, sou"+myName);
System.out.println("GameSevlet: Writing message para "+me.getName()+"\n");
//cometResponse.write("oi");
cometResponse.write(msg);
}
//messagingSystem.registerMessageSink(cometResponse);
//}
//System.out.println("Terminando cometResponse2");
cometResponse.terminate();
//System.out.println("FIM de GameCometServlet\n\n");
}
@Override
public void cometTerminated(CometServletResponse cometResponse, boolean serverInitiated) {
// messagingSystem.unregisterMessageSink(cometResponse);
//System.out.println("GameComet Terminated");
}
}