From 2d29bfff98e6113908dabf07d5e467fa035d91c6 Mon Sep 17 00:00:00 2001 From: Albin Theander Date: Thu, 10 Mar 2011 20:20:45 +0100 Subject: [PATCH] Added test project for Netty client. --- .../main/java/com/albin/mqtt/NettyClient.java | 7 +- netty-test-client/pom.xml | 69 +++++++++++++++++++ .../src/main/java/com/albin/Main.java | 20 ++++++ .../src/main/java/com/albin/NettyMain.java | 51 ++++++++++++++ pom.xml | 7 +- 5 files changed, 150 insertions(+), 4 deletions(-) create mode 100644 netty-test-client/pom.xml create mode 100644 netty-test-client/src/main/java/com/albin/Main.java create mode 100644 netty-test-client/src/main/java/com/albin/NettyMain.java diff --git a/mqtt-library/src/main/java/com/albin/mqtt/NettyClient.java b/mqtt-library/src/main/java/com/albin/mqtt/NettyClient.java index 4a454a4..3e7d273 100644 --- a/mqtt-library/src/main/java/com/albin/mqtt/NettyClient.java +++ b/mqtt-library/src/main/java/com/albin/mqtt/NettyClient.java @@ -22,6 +22,11 @@ public class NettyClient { private Channel channel; private ClientBootstrap bootstrap; + private final String id; + + public NettyClient(String id) { + this.id = id; + } public void connect() { bootstrap = new ClientBootstrap( @@ -50,7 +55,7 @@ public ChannelPipeline getPipeline() throws Exception { return; } - channel.write(new ConnectMessage("Albintest", true, 30)); + channel.write(new ConnectMessage(id, true, 30)); } public void disconnect() { diff --git a/netty-test-client/pom.xml b/netty-test-client/pom.xml new file mode 100644 index 0000000..a88c87a --- /dev/null +++ b/netty-test-client/pom.xml @@ -0,0 +1,69 @@ + + + 4.0.0 + + root + com.albin.mqtt + 0.1-SNAPSHOT + + com.albin.mqtt + netty-test-client + 0.1-SNAPSHOT + netty-test-client + http://maven.apache.org + + UTF-8 + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + + + true + com.albin.NettyMain + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.2 + + + jar-with-dependencies + + + + com.albin.NettyMain + + + + + + make-assembly + package + + single + + + + + + + + + com.albin.mqtt + mqtt-library + 0.1-SNAPSHOT + jar + compile + + + diff --git a/netty-test-client/src/main/java/com/albin/Main.java b/netty-test-client/src/main/java/com/albin/Main.java new file mode 100644 index 0000000..2be60ef --- /dev/null +++ b/netty-test-client/src/main/java/com/albin/Main.java @@ -0,0 +1,20 @@ +package com.albin; + +import java.io.IOException; +import java.net.UnknownHostException; + +import com.albin.mqtt.MqttClient; + +public class Main { + + public static void main(String[] args) throws UnknownHostException, IOException, InterruptedException { + MqttClient client = new MqttClient(); + client.connect("localhost", 1883, "Albin"); + Thread.sleep(3000); +// client.subscribe("$SYS/#"); + Thread.sleep(1000); + Thread.sleep(30000); + client.disconnect(); + } + +} diff --git a/netty-test-client/src/main/java/com/albin/NettyMain.java b/netty-test-client/src/main/java/com/albin/NettyMain.java new file mode 100644 index 0000000..05aa0d2 --- /dev/null +++ b/netty-test-client/src/main/java/com/albin/NettyMain.java @@ -0,0 +1,51 @@ +package com.albin; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import com.albin.mqtt.NettyClient; + +public class NettyMain { + + private static NettyClient client; + private static String topic; + + public static void main(String[] args) throws InterruptedException, IOException { + client = new NettyClient(args[0]); + client.connect(); + beInteractive(); + client.disconnect(); + } + + private static void beInteractive() throws IOException { + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + String line; + do { + line = in.readLine(); + if (line.startsWith("pub")) + publish(line.substring(4)); + if (line.startsWith("sub")) + subscribe(line.substring(4)); + if (line.startsWith("unsub")) + unsubscribe(line.substring(6)); + if (line.startsWith("topic")) { + topic = line.substring(6); + } + } while(!"bye".equals(line)); + + } + + private static void unsubscribe(String topic) { + client.unsubscribe(topic); + } + + private static void subscribe(String topic) { + client.subscribe(topic); + } + + private static void publish(String msg) { + client.publish(topic, msg); + } + +} diff --git a/pom.xml b/pom.xml index 5357096..10b2977 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,5 @@ - + + 4.0.0 com.albin.mqtt @@ -16,6 +16,7 @@ mqtt-library + netty-test-client - + \ No newline at end of file