首页>代码>javascript websocket实现的简单聊天程序>/reverse_ajax/src/com/cn/test/chapter2/websocket/ReverseAjaxServlet.java
package com.cn.test.chapter2.websocket;

import java.io.IOException;
import java.util.Date;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.codehaus.jettison.json.JSONArray;
import org.eclipse.jetty.websocket.WebSocket;
import org.eclipse.jetty.websocket.WebSocketServlet;

/**
 * @author Mathieu Carbou (mathieu.carbou@gmail.com)
 */
public final class ReverseAjaxServlet extends WebSocketServlet {

    private final Endpoints endpoints = new Endpoints();
    private final Random random = new Random();
    //系统广播对象
    private final Endpoint endpoint = new Endpoint(endpoints);
    
    private final Thread generator = new Thread("Event generator") {
        @Override
        public void run() {
            while (!Thread.currentThread().isInterrupted()) {
                try {
                    Thread.sleep(random.nextInt(60000));
                    endpoints.broadcast(endpoint,new JSONArray().put("At " + new Date()).toString());
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }
        }
    };
    

    @Override
    public void init() throws ServletException {
        super.init();
        //启动系统广播线程
        generator.start();
    }

    @Override
    public void destroy() {
        generator.interrupt();
        super.destroy();
    }
	
    @Override
	public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
        return endpoints.newEndpoint();
    }

    /**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		getServletContext().getNamedDispatcher("default").forward(request, response);
	}
    
    
    
    

}
最近下载更多
苏若曦  LV1 10月8日
xiaoding1999  LV7 2020年12月22日
0101010323  LV2 2020年9月5日
gaoxin222  LV14 2020年8月23日
wukunhua  LV2 2020年7月22日
huhuhu525354  LV1 2020年7月15日
t88525  LV1 2020年5月13日
浙雨扬  LV10 2019年11月25日
Swl_124  LV2 2019年11月4日
kangdi  LV10 2019年10月28日
最近浏览更多
chuxue11  LV2 11月18日
1561361683  LV1 10月15日
c12s34g 10月14日
暂无贡献等级
苏若曦  LV1 10月8日
dapeioo 10月8日
暂无贡献等级
qq970040477  LV24 5月26日
zeng1206  LV7 2023年12月21日
hxy19991216  LV4 2023年12月20日
1234567p  LV1 2023年12月4日
edpwyg  LV14 2023年11月4日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友