socket.Io demo
来源:互联网 发布:程序员的出路 编辑:程序博客网 时间:2024/06/07 01:44
server端
package com.test.server;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 com.corundumstudio.socketio.listener.DisconnectListener;import org.apache.commons.lang.StringUtils;import org.apache.log4j.Logger;/** * Created by leo_wang on 2016/12/22. * * @describe */public class SecketIoServer { private static Logger logger = Logger.getLogger(SecketIoServer.class.getName()); // server private static SocketIOServer server = null; private void initServer(){ Configuration configuration = new Configuration(); configuration.setHostname("127.0.0.1");//IP地址 configuration.setPort(9090);//端口 configuration.setMaxFramePayloadLength(500 * 1024);//最大传输 configuration.setMaxHttpContentLength(500 * 1024); server = new SocketIOServer( configuration ); server.start(); server.addConnectListener(new ConnectListener() { @Override public void onConnect(SocketIOClient client) { // TODO Auto-generated method stub } }); server.addDisconnectListener(new DisconnectListener() { @Override public void onDisconnect(SocketIOClient client) { //TODO Auto-generated method stub System.out.println("连接关闭"); } });// server.addListeners("test",); server.addEventListener("demo", String.class, new DataListener<String>() { @Override public void onData(SocketIOClient client, String data, AckRequest ackRequest) throws Exception { String demo = data; if (StringUtils.isNotBlank(demo)) { System.out.println(demo); logger.info("连接成功!key=" + demo); client.sendEvent("demoOK", data); } } }); } public static void main(String agrs[]){ SecketIoServer server = new SecketIoServer(); server.initServer(); }}
客户端
package com.test.client;import io.socket.client.IO;import io.socket.client.Socket;import io.socket.emitter.Emitter;import org.apache.log4j.Logger;import org.json.JSONException;import org.json.JSONObject;import java.net.URISyntaxException;import java.text.SimpleDateFormat;import java.util.Date;/** * Created by leo_wang on 2016/12/22. * * @describe */public class SocketIoClient { private static Logger logger = Logger.getLogger(SocketIoClient.class.getName()); private Socket socket; private boolean isConnected = false; public void initSocket() throws URISyntaxException { socket = IO.socket("http://127.0.0.1:9090"); socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { @Override public void call(Object... args) { } }).on("event", new Emitter.Listener() { @Override public void call(Object... args) {} }).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() { @Override public void call(Object... args) { System.out.println("关闭连接"); } }); socket.connect(); } public void sendDemo() throws JSONException { JSONObject obj = new JSONObject(); obj.put("name", "test"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时MM分ss秒"); String date = sdf.format(new Date()); obj.put("time", date); socket.emit("demo", obj.toString()); // Receiving an object socket.on("demoOK", new Emitter.Listener() { @Override public void call(Object... args) {// System.out.println(args[0]); JSONObject obj = null; try { obj = new JSONObject(args[0]+""); } catch (JSONException e) { e.printStackTrace(); } System.out.println(obj); } }); } public void disconnection(){ if (socket.connected()) { System.out.println("需要关闭连接"); socket.disconnect(); } } public static void main(String agrs[]){ SocketIoClient client = new SocketIoClient(); try { client.initSocket(); client.sendDemo(); client.disconnection(); } catch (URISyntaxException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } }}
demo包等会发
0 0
- socket io demo 项目
- socket.Io demo
- 【学习笔记】socket IO demo
- Aio--Java异步IO的 Socket Demo
- Aio--Java异步IO的 Socket Demo
- Native Socket.IO and Android demo
- Aio--Java异步IO的 Socket Demo
- Aio--Java异步IO的 Socket Demo
- 基于Node.js + socket.io实现WebSocket的聊天DEMO
- 如何理解socket.io官网上创建聊天室的demo
- socket.io入门以及简易聊天室Demo的展示
- Socket DEMO
- Socket Demo
- 使用Node.js+socket.io制作服务端,unity+socket.io for unity 制作客户端 ,验证位置同步Demo
- socket IO
- SOCKET.IO
- socket io
- IO::Socket
- 招商软文如何写:推广诱人的广告——文芳阁传媒有话说
- GBDT 深入理解
- 一个斐波那契数列题 HDU 2041
- CCF压缩编码和玲珑杯1066 - Buy Candy(平行四边形优化)
- 基于同音字的验证码
- socket.Io demo
- 设计模式-java实现
- JavaScript Math
- java常用工具类分享
- IntelliJ idea插件开发环境配置
- 很好的CNN学习资料
- (十三)函数指针
- Centos 6.5 Install JDK7
- 100道动态规划——20 HDU 1257 最少拦截系统 LIS 啊!我为什么这个都没有想到!