| | |
| | | package org.springblade.modules.webscoket.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import io.netty.buffer.ByteBuf; |
| | | import io.netty.channel.Channel; |
| | | import io.netty.channel.group.ChannelGroup; |
| | | import io.netty.handler.codec.http.websocketx.TextWebSocketFrame; |
| | | import org.springblade.modules.nettyServer.NettyConfig; |
| | | import org.springblade.modules.webscoket.service.IPushMsgService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author lq |
| | |
| | | public void pushMsg(String msg) { |
| | | ChannelGroup group = NettyConfig.getChannelGroup(); |
| | | String name = group.name(); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("xqid", msg); |
| | | jsonObject.put("type", "taks"); |
| | | System.out.println("空间大小:" + group.size() + ",名字:" + name); |
| | | group.writeAndFlush(new TextWebSocketFrame(msg)); |
| | | group.writeAndFlush(new TextWebSocketFrame(String.valueOf(jsonObject))); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int startTask(String serid, String rid,String type) { |
| | | public int startTask(String serid, String rid,String type,String data) { |
| | | //返回值 |
| | | int res = 0; |
| | | Channel channel = NettyConfig.getUserChannelMap().get(serid); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("type", type); |
| | | jsonObject.put("rid", rid); |
| | | if (channel != null) { |
| | | channel.writeAndFlush(new TextWebSocketFrame(String.valueOf(jsonObject))); |
| | | res = 1; |
| | | String[] list = serid.split(","); |
| | | for (int i = 0; i <list.length ; i++) { |
| | | if (!list[i].equals("")){ |
| | | Channel channel = NettyConfig.getUserChannelMap().get(list[i]); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("type", type); |
| | | jsonObject.put("rid", rid); |
| | | jsonObject.put("data", data); |
| | | if (channel != null) { |
| | | channel.writeAndFlush(new TextWebSocketFrame(String.valueOf(jsonObject))); |
| | | res = 1; |
| | | } |
| | | } |
| | | } |
| | | return res; |
| | | } |