物联网传输协议MQTT以及常见的mqtt服务器
MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是一个由IBM主导开发的物联网传输协议,主要用于即时通讯,物联网M2M,物联网采集等。它被设计用于轻量级的发布/订阅式消息传输,比较适合于在低带宽、不可靠的网络进行远程传感器和控制设备通讯等,它的核心设计思想是开源、可靠、轻巧、简单,正日益成为物联网通信协议的重要组成部分。有以下主要特性:1.非常小的通信开销(最小的消息大小为2字节);2.支持各种流行编程语言(包括C,Java,Ruby,Python等)且有易于使用的客户...[>>…]
内网穿透工具frp的应用-frpc,frps
内网穿透即内网映射,可以将局域网变公网,从而可以让外网访问本地局域网内的服务。内网穿透原理技术有这么几种:1,通过公网服务器转发,这是目前市场上大多三方的内网穿透服务方式。2,P2P穿透,端对端连接通信,即常说的UDP打洞方式,受国内复杂网络环境影响打洞成功机率不高。3,通过公网服务器响应对二端握手穿透,穿透成功时直接二端P2P打洞直联。 内网穿透工具有很多,比如Ngrok、花生壳、frp。原理基本一样,这里主要了解一下FRP,frp分为客户端和服务端,frp...[>>…]
高德地图通过将IP地址转换成经纬度-只能定位到城市范围
因业务需要,将IP地址转换成经纬度,记录一下。高德地图IP地址定位调用接口文档地址:https://lbs.amap.com/api/webservice/guide/api/ipconfig .调用方法很简单,先申请web服务API密钥(Key);注意根据你的调用方式选择key,我这里是通过web接口调用,所以选择web服务。不然会把key的类型错误。然后拼接HTTP请求URL,并带上第一步申请的Key;请求如下url:https://restapi.amap.com/v3/ip?ip=114.247.50.2&output=json&key=<用户的key>output可以是xml,也可以是json,如请...[>>…]
Git如何删除提交的log日志记录
也许因为某些原因我们需要删除一些提交记录,比如我们在中间不小心提交了一些重要密码文件到git上,而只通过删除文件并不能删除记录,在git项目中可以通过提交历史查看到我们之前提交的这些文件,从而暴露资料。那怎么删除commit的记录呢? 有办法的,不过操作的时候要小心。首先我们要删除操作记录,我们要找到我们要删除到的哪条记录,从而git知道我们要删除掉哪些提交记录,可以在项目管理中页面-/commits/master中找到这个记录,然后在右边可以看到有按钮copycom...[>>…]
Chrome插件jsonView的两个问题
jsonView是Chrome中的一个插件,可以让接口返回的json在浏览器里格式化、着色、美观、易读。一直在Chrome浏览器中使用jsonView插件。在使用中也发现它有两个问题:1:会导致刷新一次请求两次. 之前有一个问题印象特别深刻,就是碰到过进行代码调试的时候发现浏览器刷新一次服务器总执行两次,开始还一直排查服务端的代码问题,之后断定代码正常才发现是这个jsonView插件捣鬼,开启这个插件后就可能会出现向服务端请求两次(可能结果是json会导致它运行)。2:对返回的j...[>>…]
windows下使用命令行运行PHP时cmd窗口中的中文乱码问题
习惯了在linux下使用定时任务和运行php的cli命令,实际在windows下运行CLI也是很方便的事,我这里使用的是VisualNMPx64版本,安装选用的PHP7.1版本,直接找到PHP文件包的地址在cmd命令行中使用php.exe执行即可,不过在使用时发现执行结果里中文显示都是乱码,确实不爽,怎么解决,很方便:1.临时解决办法: 在cmd窗口中运行chcp65001,执行之后,cmd的编码格式就是UTF-8,chcp65001是什么意思呢?CHCP是一个计算机指令,能够显示或设置活动代码页编号。其中65001就是...[>>…]
svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.
svn刚刚执行一个删除文件夹的操作,但随后进行命令执行的时候提示报错:Error:Previousoperationhasnotfinished;run'cleanup'ifitwasinterrupted.Error: Pleaseexecutethe'Cleanup'command.看起来是提示之前的命令还在执行,但过了阵子仍然是这样的错误。看网上有不少碰到这个问题的记录,但解决方案是下载sqlite3.zip进行一系列的操作太麻烦了。 既然提示中说了使用Cleanup来解决,于是我在使用cleanup的时候进行了钩选一些额外选项:Refreshshelloverlays如下...[>>…]
消息队列beanstalkd上的error: JOB_TOO_BIG的解决
今天一个处理处理消息队列的程序出现了报错,其中往beanstalkd添加消息的时候出现:Puterror:JOB_TOO_BIGinbeanstalk-client/src/Client.php:283,出现此报错的原因是往beanstalkd添加的消息个数(待处理)超过了最大限制,限制是多少呢?我们可以使用beanstalkd-z选项的值,默认是(defaultis65535)。通过telnetbeanstalkd端口查看stats返回结果可以看到,因此这里需要将此配置进行修改。 我的系统是Ubuntu16.04,beanstalkd是使用aptgetinstall安装的,如果你是命令...[>>…]
ubuntu下beanstalkd无法绑定局域网IP地址
今天因为业务需要,我把之前安装的beanstalkd所绑定的IP地址由127.0.0.1改成局域网IP地址,但是怪了,显示beanstalkd已经启动,查看端口监控也显示IP地址变了,但是使用telnet连接的却依然是连接不上,报错:Unabletoconnecttoremotehost:Connectionrefused。真是奇怪,难道是防火墙的问题?觉得不应该,但还也加上了这个端口的全部accept规则,但是依然不起作用。看来还是得从beanstalkd自身找问题。 过程是这样的:我安装beanstalkd使用的是apt-get方式,beanstalk...[>>…]
windows下secureCRT使用id_rsa免密登录服务器
有些服务器不允许使用账号密码登录,只能使用授权的文件,比如id_rsa非对称加密授权,使用secureCRT可以方便地支持这种方法,记录一下在我本地成功验证通过的windows下secureCRT直连服务器的方法: 进入个人测试机账户.ssh下,创建密钥对id_rsa.pub和id_rsa文件。ssh-keygen默认生成的就是rsa密钥对,也有其它选项dsa/ecdsa/ed25519/rsa1,然后catid_rsa.pub>>authorized_keys并下载id_rsa文件。在secureCRT中设置登录使用下载的id_rsa验证授权即可。 #进入个...[>>…]