zoukankan      html  css  js  c++  java
  • 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();
    	}
    }
    
  • 相关阅读:
    python3 5个带key内置函数
    python3常用内置函数总结
    python入门基础-函数装饰器的理解
    python入门基础-三元表达式、命名空间、作用域、函数名本质、闭包
    python入门基础-初识函数
    第二章001编写脚本
    Appium 自动化测试第一天——基础知识
    python基础-读取文件
    linux6.4 安装python3 pip setuptools
    selenium+python之HTML测试报告
  • 原文地址:https://www.cnblogs.com/flyingcloude/p/10307224.html
Copyright © 2011-2022 走看看