mqttjava
A. 如何對java mqtt程序測試性能
Java編程下用JMeter Java Sampler進行多介面性能測試,使用方法如下:
/**
*JMeter Java Sampler介紹
*setupTest做些初始化的工作,每個線程只執行一次
*teardownTest做些清理工作,每個線程只執行一次
*runTest具體的測試執行工作,每個並發每次循環都將執行一次
**/
//繼承AbstractJavaSamplerClient
public class hessianTest extends AbstractJavaSamplerClient{
//hessian調用地址
private static String url = "http://10.20.147.182:8080/hessian/remoting/userService";
MyService collect = null;
HessianProxyFactory factory = new HessianProxyFactory();
public int id;
@Override
public void setupTest(JavaSamplerContext arg0) {
//獲取jmeter傳入參數
id=arg0.getIntParameter("id");
try {
collect = (MyService) factory.create(
MyService.class, url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sp = new SampleResult();
sp.sampleStart();
User rt = null;
try {
rt = collect.getUser(id);
} catch (Exception e) {
sp.sampleEnd();
sp.setSuccessful(false);
return sp;
}
sp.sampleEnd();
if(rt.getId()==id)
sp.setSuccessful(true);
else
sp.setSuccessful(false);
return sp;
}
@Override
public void teardownTest(JavaSamplerContext context) {
super.teardownTest(context);
}
}
B. java mqtt客戶端能不能訂閱多個主題
可以設置通配符#、+,但是通配符只能在訂閱消息的時候用
C. mqtt java開源框架哪個好用
MQTT(MessageQueueing Telemetry Transport Protocol)的全稱是消息隊列遙感傳輸協議的縮寫,是由IBM公司推出的一種基於輕量級代理的發布/訂閱模式的消息傳輸協議,運行在TCP協議棧之上,為其提供有序、可靠、雙向連接的網路連接保證。由於其開放、簡單和易於實現所以能夠應用在資源受限的環境中,對於M2M和物聯網應用程序來說是一個相當不錯的選擇。
D. Java項目:mqtt發送的數據如何保存到資料庫里
有PLC數據直接寫入MYSQL的網關裝置
E. 一個能運行的,用java實現的一個MQTT協議的demo,包括服務端和客戶端
我也在尋找,CSDN上有,就是太貴了,兄弟你要是找到了麻煩救濟一下我
F. java 實現串口接收到數據,立馬將接收到的數據通過mqtt上傳到阿里雲。
也不是特別麻煩,抄你先要清襲楚串口和伺服器用的什麼協議,假設串口用232,伺服器採用TCP,那麼你需要做的是建立一個客戶端的發送模塊,和一個串口的操作模塊(結合必須要用到多線程,以隊列或者委託來做數據交換);在測試之前一定要保證串口和客戶端發送接收是ok的才能做結合功能。
因為你串口已經做好了,那你需要的是將採集到的數據(字元串)保存到數組中,然後創建一個指向數組的指針p,然後在客戶端模塊里,將發送的數據寫成&p。建議先將數據轉16進制發,應該沒毛病。
G. java mqtt 什麼時候關閉連接
伺服器要根據先前此客戶端在發送CONNECT消息可變頭部Connect flag中的「Clean session flag」所設置值:
值為0,服務內器必須在容客戶端斷開之後繼續存儲/保持客戶端的訂閱狀態。這些狀態包括:
存儲訂閱的消息QoS1和QoS2消息
正在發送消息期間連接丟失導致發送失敗的消息
以便當客戶端重新連接時以上消息可以被重新傳遞。
值為1,伺服器需要立刻清理連接狀態數據。
伺服器在接收到客戶端發送的DISCONNECT消息之後,需要主動關閉TCP/IP連接。
H. mqtt 伺服器搭建需要用到java嗎
最近公司做的項目中有用到消息推送,經過多方面的篩選之後確定了使用MQTT協議,相對於XMPP,MQTT更加輕量級,並且佔用用戶很少的帶寬。
MQTT是IBM推出的一種針對移動終端設備的基於TCP/IP的發布/預訂協議,可以連接大量的遠程感測器和控制設備。
MQTT的官網見:http://mqtt.org/。其中http://mqtt.org/software裡面提供了官方推薦的各種伺服器和客戶端使用的各種語言版本的API。
下面以伺服器Apollo 1.6為例,之前嘗試過使用ActiveMQ,效果很不理想,只能實現伺服器和客戶端一對一的通信,從官網上了解到Apollo屬於activemq的一個子工程。先不管這些了,言歸正傳,以下在windows環境下。
1、在這里下載Apollo伺服器,下載後解壓,然後運行apache-apollo-1.6\bin\apollo.cmd,輸入create mybroker(名字任意取,這里是根據官網介紹的來取的)創建伺服器實例,伺服器實例包含了所有的配置,運行時數據等,並且和一個伺服器進程關聯。
2、create mybroker之後會在bin目錄下生成mybroker文件夾,裡麵包含有很多信息,其中etc\apollo.xml文件下是配置伺服器信息的文件,etc\users.properties文件包含連接MQTT伺服器時用到的用戶名和密碼,後面會介紹,可以修改原始的admin=password,可以接著換行添加新的用戶名密碼。
3、打開cmd,運行…apache-apollo-1.6\bin\mybroker\bin\apollo-broker.cmd run 開啟伺服器,可以在瀏覽器中輸入http://127.0.0.1:61680/查看是否安裝成功,該界面展示了topic,連接數等很多信息。
經過上面的簡單步驟,伺服器基本上就已經完成,下一篇將介紹Android客戶端的編寫和注意事項。
客戶端使用的API,開始我使用的是mqtt-client,使用過後發現問題百出,不能很好的滿足要求,後來使用了官方推薦的Eclipse Paho,下面開始客戶端代碼的編寫,為了方便測試這里有android和j2se兩個工程:
1、新建android工程MQTTClient
2、MainActivity代碼如下:
I. Java/Android:關於ActiveMQ與MQTT的關系是什麼
實在看不下去了,網上怎麼竟是些胡說八道的呢。太坑人。MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,activemq只是apache下一個隊列項目,不僅僅支持MQTT協議,也支持其他比如AMQP等協議。MQTT是協議,協議只是定義好的規則,比如文檔也是協議。activemq只是實現了MQTT協議的一個程序