- 博客(11)
- 收藏
- 关注
原创 http get post测试
这次的话相当于是对上篇文章的补齐,上篇文章只有http GET,但是没有POST,这回把post也写进去了,还是用的libevent,感觉libevent感觉功能强大是强大,不过感觉有点难以对付http协议,http协议的post还是比较复杂,我这只是比较简单的实现,主要老找不到U盘,要是有个服务器,在没U盘的时候还是挺好使的。链接: https://pan.baidu.com/s/1OLqIQ-3mYVmA-m1D-W9nkg?pwd=8786 提取码: 8786。--来自百度网盘超级会员v8的分享。
2025-02-17 16:23:55
211
原创 用浏览器显示文件夹内容(http get)
然后关于C++的话,其实这也算是我第二次学了,第一次学还是在去年,当时为了用QT,简单的学习了一下,如果说C++是C的超集,那QT用的C++就是标准C++的超集,和C++不能说没有关系,只能说关系不大。这个是B站黑马posix教程最后几个课时的内容,很惭愧,当时我用epoll+ET+非阻塞没写出来,用纯C我只写了用浏览器打开文件,但是以目录形式我当时试了几天没弄出来,遂放弃。真的,太简单了,我现在终于能够体会到C++的魅力了,真的太好用,太香了,C++怎么能这么好用啊。
2025-01-02 14:33:59
362
原创 阿里云MQTT中介服务器
这个服务器主要是作为中介,辅助连接变送器和阿里云,说实话,属于是没什么太大作用的服务器,因为变送器本身加个4G模块就可以直接连接阿里云了,这也是我最后用C语言写这种东西了。用到的libevent,ymode协议,mqtt协议(connect,subscribe,publish),心跳包,线程池,生产者消费者模型,哈希表,差不多这些东西。第二个是阿里云OTA升级,这个服务器会作为中转,先接收,然后ymode协议发给变送器。这个思路差不多就是上面这个思路,实际上比想象中的麻烦很多,我写这个可能花了大半个月。
2024-12-11 15:48:22
170
原创 STM32hal库版本ymode简化协议
因为一开始我ymode用的是串口中断写的,我发现那时候写的ymode虽然也能用超级终端进行读写,但是本身存在一些问题,比如说第二个EOT之后,应该回ACK,C,我程序里是直接在中断里send(ACK),send(C),这么写其实还是存在问题的,中间应该延时个比如100ms,但是如果在中断里延时,又需要开个定时器,因为hal_delay在中断里用不了,这就很蛋疼。于是我参照官方的IAP写了一个不用中断的ymode协议的hal库简化版本。下面是抄的一点官方的代码,这个代码主要是用于解算首包数据的文件名和大小。
2024-12-09 13:29:54
255
原创 MQTT阿里云OTA 调试记录
2.验证,这个验证是什么意思呢,就是阿里云会把你包的信息,比如包大小,streamid(相当于包的识别码),版本号发送给你的设备,然后如果你没发送升级成功的包给阿里云,这里会是一直验证中的状态,那你的设备每次重新连接阿里云,发送connect包给阿里云的时候,阿里云就会发送一次这个验证(upgrade)包。提取到了之后就可以发送请求包了,这个请求包比较坑,也可能是我没付费,他的包一次最多只有1024个字节的数据。之前说了,验证状态下,设备发送connect包给阿里云,阿里云就会发一个upgrade包给你。
2024-12-04 10:25:16
898
6
原创 初学写服务器随手有感
最近在写传感器和阿里云中介的MQTT服务器,真是给我写麻了,我突然觉得,哪有正常人会用纯C写服务器,这不是大脑短路吗。之前用C++写QT的时候,我一直觉得自己有点脚不沾地的感觉,我当时觉得是C++的问题,现在我觉得可能是我自己的问题。我突然明白为什么那么多嵌入式公司会特地表明需要会C++,接下来我可能会完全放弃C,完全转向C++
2024-11-30 01:44:27
87
原创 STM32循迹/避障小车+linux控制
这个小车是我还没入职的时候买的,后面入职了就把这档子事忘了,这几天重新拿出来玩了一下,花了几天时候把程序写了一下,这个程序最大的亮点可能就是一个中断都没用,连车速控制pwm都是用freertos的软件定时+任务模拟io中断做的,我一开始是想用pwm的,结果我发现卖小车的商家居然这四个轮子没有接tim脚,我就挺傻眼的,花了挺大的劲来模拟这个pwm的,但是这种io中断模拟pwm最大的问题就是这个小车跑起来的时候可能没有pwm那么流畅,可能会有点小抽搐的感觉。--来自百度网盘超级会员V8的分享。
2024-11-22 10:40:15
204
原创 STM32 esp8266穿透连接linux
然后是linux服务器,功能是显示8266发送的数据,然后你输入可以发送给8266,STM32的串口也就能收到数据了,我写的时候随便试了试mmap,所以代码可能看起来比较奇怪。链接:https://pan.baidu.com/s/1wwbXpHgOTRY8SFm2oNXpew?通过百度网盘分享的文件:backup.zip。格式是 ./eserver IP 端口。--来自百度网盘超级会员V8的分享。下面是keil的连接代码。
2024-11-15 16:00:10
181
原创 五子棋 linux服务器+QT客户端
很明显,二叉排序树实际上也是有键值存在的,哈希表实际上的搜索效率是要高于二叉排序树的,而且二叉排序树为了搜索效率,通常需要用AVL/红黑树这些方法进行平衡,这些通常也需要时间,特别是在多线程并发的过程中,我认为这些会成为影响服务器效率的关键点。然后匹配的话就是直接cfd进队列,判断一下队列数%2==0,说明有足够的人数,然后连续出队,把这两个节点,棋盘信息什么的放在一个结构体里,挂到一个二叉树上,其实没必要用二叉树,我也是纯粹写着玩的。这个游戏有登录,注册,匹配,投降,悔棋,等等这些功能。
2024-11-10 09:36:02
695
原创 C语言 用矩阵计算抛物线方程
这个文章的C语言代码我在使用的时候,发现有一点小问题,就是在回代的过程中,少了一个归一化的过程,导致实际使用的时候可能会出点问题。归一化了之后结果就对了。
2024-06-07 15:44:22
188
原创 ubuntu22.04 nfsV2调试心得
这里我全部调试好了,如果出现问题,后面的status会等于1/FAILURE,这时候怎么办呢,可以exporfs -r输出错误信息,一般来说可能就是/etc/exports修改的时候格式错误之类的,自己检查就行了。这个+2是我们需求的,如果没有2,说明你的nfs不支持2,不用慌,继续下面步骤,如果是-2,说明nfs支持2,但是还没启动。2.查看自己nfs支持的版本,sudo cat /proc/fs/nfsd/versions。到这里基本就ok了,重复2步骤查看自己有没有+2,如果有,ok,那就成功了。
2024-03-21 16:07:02
797
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人