• SocketIO Server


    package com.fd.socketio;
    
    import org.json.JSONObject;
    
    import com.corundumstudio.socketio.AckRequest;
    import com.corundumstudio.socketio.Configuration;
    import com.corundumstudio.socketio.SocketIOClient;
    import com.corundumstudio.socketio.SocketIOServer;
    import com.corundumstudio.socketio.listener.ConnectListener;
    import com.corundumstudio.socketio.listener.DataListener;
    
    import io.socket.client.Socket;
    
    public class MySocketIOServer {
    	public static void main(String[] args) {
    		Configuration config = new Configuration();
    		config.setHostname("localhost");
    		config.setPort(9098);
    		final SocketIOServer server = new SocketIOServer(config);
    		server.addConnectListener(new ConnectListener() {
    			@Override
    			public void onConnect(SocketIOClient client) {
    				String token = client.getHandshakeData().getUrlParams().get("token").get(0);
    //				if (!token.equals("87df42a424c48313ef6063e6a5c63297")) {
    //					client.disconnect();// 校验token示例
    //				}
    				System.out.println("sessionId:" + client.getSessionId()
    						+ ",token:" + token);
    			}
    		});
    		server.addEventListener(Socket.EVENT_MESSAGE, String.class,
    				new DataListener<String>() {
    					@Override
    					public void onData(SocketIOClient client, String data,
    							AckRequest ackSender) throws Exception {
    						System.out.println("client data:" + data);
    						server.getBroadcastOperations().sendEvent(Socket.EVENT_MESSAGE, "hi");
    					}
    				});
    		server.start();
    		
    		while(true){
    			try{
    				JSONObject obj = new JSONObject();
    				obj.put("message_type", "place_order");
    				
    				server.getBroadcastOperations().sendEvent("order_book", obj.toString());
    			}catch(Exception e){
    				
    			}
    			try {
    				Thread.sleep(3000);
    			} catch (InterruptedException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		
    //		try {
    //			Thread.sleep(Integer.MAX_VALUE);
    //		} catch (InterruptedException e) {
    //			// TODO Auto-generated catch block
    //			e.printStackTrace();
    //		}
    //		server.stop();
    	}
    }
    
  • 相关阅读:
    扁平化职能管理三部曲
    [转载]持续交付和DevOps的前世今生
    敏捷项目管理工具-百度效率云
    敏捷项目管理:基础知识与应用实务
    第8章 “敏捷+”创新创业模式
    第7章 "敏捷+"项目管理
    第6章 迭代循环与项目结束
    第5章 发布循环
    第4章 立项与项目启动
    Windows 2003 + IIS6.0 相关 401.1 或 401.2 等问题解决
  • 原文地址:https://www.cnblogs.com/flyingcloude/p/10307224.html
Copyright © 2020-2023  润新知