❶ 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代码如下:
❷ 如何对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);
}
}
❸ Java项目:mqtt发送的数据如何保存到数据库里
循环遍历set的元素,通过java.sql.PreparedStatement的setObject方法将set的元素按顺序放入预编译的参数化SQL中
❹ 关于stm32与服务器通信的问题
你是想用web远程监控单片机的运行,但是不知道怎么把单片机的信息上传到服务器,转化成web页面展示出来,我做过一个是通过阿里云IOT实现的
单片机内加入MQTT协议,与阿里云服务器通信,可以通过IOT studio快速配置生成web
官方给到历程是都是通过ESP的WiFi来联网。我做的是通过W5500联网的
把C语言Link Kit SDK移植到stm32单片机中,web由IOT studio生成。
❺ web项目上线必须在中间件上设置数据源吗
在项目中需要连接数据库,提取数据库信息的地方都要在项目内设置连接数据库代码。一般这代码是写好的,在需要的地方调用即可。
❻ java怎么实现mqtt的接收通配符的数据
报什么错?