万物云支持UDP协议接入上线
2018-01-02 10:50:05.0
万物云已支持硬件通过UDP协议接入。接入的地址及端口:61.147.166.206:8964
java代码示意如下:
public class UdpClient {
    public void run(int port) throws Exception {
        EventLoopGroup group = new NioEventLoopGroup();
        try {
            Bootstrap b = new Bootstrap();
            b.group(group).channel(NioDatagramChannel.class)
                    .handler(new UdpClientHandler());

            Channel ch = b.bind(0).sync().channel();

            //上报设备单条数据
            String msg = "[{\"seckey\":\"amY8aJKF44iDgj1GH6U1GUb2-nR5NHFR\",\"row\":{\"dev_id\":\"67250300001\",\"pm23\":\"55\"}}]";
           //上报设备多条数据
           //String msg = "[{\"seckey\":\"amY8aJKF44iDgj1GH6U1GUb2-nR5NHFR\",\"rowlist\":[{\"dev_id\":\"67250300001\",\"pm23\":\"55\"},{\"dev_id\":\"67250300001\",\"pm23\":\"55\"},   {\"dev_id\":\"67250300001\",\"pm23\":\"55\"},{\"dev_id\":\"67250300001\",\"pm23\":\"55\"}]}]";
          //添加并注册设备
          // 单设备注册
          //String msg = "[{\"user\":\"system\",\"accessid\":\"         C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"x\":\"12.123\",\"y\":\"45.362\",\"sc\":\"A\"}]";
          //多设备注册
          //String msg = "[{\"user\":\"system\",\"accessid\":\" C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"x\":\"12.123\",\"y\":\"45.362\",\"sc\":\"A\"},{\"user\":\"system\",\"accessid\":\" C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"x\":\"12.123\",\"y\":\"45.362\",\"sc\":\"A\"},{\"user\":\"system\",\"accessid\":\" C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"x\":\"12.123\",\"y\":\"45.362\",\"sc\":\"A\"},{\"user\":\"system\",\"accessid\":\" C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"x\":\"12.123\",\"y\":\"45.362\",\"sc\":\"A\"},{\"user\":\"system\",\"accessid\":\" C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"x\":\"12.123\",\"y\":\"45.362\",\"sc\":\"A\"}]";

            //获取设备安全码
           //String msg = "[{\"user\":\"system\",\"accessid\":\"C3LZDGVTMTQYMJQZMZGWMDEXOA==\",\"aid\":\"5958295805\",\"did\":\"q0001\",\"sc\":\"S\"}]";

            //向61.147.166.206:8964发送数据
            ch.writeAndFlush(
                    new DatagramPacket(
                            Unpooled.copiedBuffer(
                                    msg, CharsetUtil.UTF_8),
                            new InetSocketAddress(InetAddress.getByName("61.147.166.206"), port
                            )));
//             不关闭ch通道
            ch.closeFuture().await();

//             //等待获取服务端数据响应超时时间间隔
//             if (!ch.closeFuture().await(15000)) {
//                 System.out.println("服务端超时");
//             }
        } finally {
            group.shutdownGracefully();
        }
    }

    public static void main(String[] args) throws Exception {
        int port = 8964;
        if(args.length >0){
            try{
                port = Integer.parseInt(args[0]);
            }
            catch (NumberFormatException e){
                e.printStackTrace();
            }
        }
        new UdpClient().run(port);

    }

    }