- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 简单读写文件流iostream找到指定开头
/ 将 tempNum 转换为 uint64_t 类型的整数并加上16进制的F保存到num中。// 用于存储S315后的8个字符 + 结尾的 '\0'#define FILENAME "DA_510B_IMG_XXX.mhx" // 输入文件名。// 如果feof(fp)返回非零值,说明已经读到了文件结尾。// 如果feof(fp)返回0,说明还没有读到文件结尾。
2024-08-20 23:11:49 1048
原创 通过图形库实现像素操作
((x1 == Midx && y1 == Midy)||(x2 == Midx && y2 == Midy)))//如果中点和A/B任一端点重合则二分到了尽头。void CoordinateTransformation(unsigned short &x, unsigned short &y)//把坐标翻转到第一象限。// 绘制箭头的一段。
2024-08-20 23:08:52 1158
原创 使用Qt Creator编写基于C/C++的局域网通信(C/S)程序(Linux平台)
目前的工作原理是,主线程epollwait,等到接受缓存区接受数据以后正常做监听套接字和连接句柄的判断,如果是来自某客户端的消息,将消息和来源fd打包给转发函数再丢进线程池任务队列做转发处理,所以目前就是主线程wait-(accept/recv),如果是recv再交给子线程转发。另外记录几个经典错误,强转的优先级问题,途中想把ptr(void*,存的某结构体地址)做一个结构体指针强转,但是少个括号,被强转对象变成了ptr->cip。
2023-10-01 19:52:15 186
原创 基于linux平台使用qt搭建客户端的(C/S)简单局域网聊天室(C/C++)
至于.cpp文件作为服务器自动获取本机ip,端口号默认为9999,在终端中编译并链接-lpthread库,运行即可,服务器有简单的运行状况提示。我的运行环境为VMware Workstation 16 Pro(16.0.0),Linux版本是Ubuntu 20.04.6 LTS,IDE用的是QT6.2.4。突然想起来还有个小bug没修复,多次按连接会创建多个套接字,跟服务器建立多个连接,按一下send应该是会发送多遍重复消息。要找实习了,有空再说吧。
2023-09-22 23:50:46 451 2
原创 基于C/C++在Linux上的QTcreator简单tcp通信局域网聊天室(服务器转发未完成版)
3、在连接中断的时候socket应该是会销毁的,最开始在qwidget的构建函数中初始化socket,二断链以后尝试二次连接到服务器没反应,最后发现是socket在断连以后被销毁,所以把socket的初始化放到了push_button的开头方便重新连接至服务器。2、对于新手来说很重要的一点就是要知道各个函数的原理,比如中间尝试过用qtime定义计时器,在主线程运行recv用计时器定时唤醒,但是recv是堵塞函数,并不是运行的时候没收到新信息就返回0。
2023-09-22 14:25:43 201 1
原创 Linux下Qt报错 [Makefile:XXX: error: ui_widget.h] Error 2
在某个功能结束以后突然不知道咋想的,直接复制了一整个“Client”文件夹,副本叫“Client(Copy)”,进去啥也不动正常编译一点问题没有,但是修改过以后就疯狂报错:Makefile:XXX: error: ui_widget.h] Error 2。尝试过把.pro.user删掉、bulid文件夹删过不管用,最后发现是因为项目文件路径不能带有()和中文等特殊字符。因为想写一个局域网tpc的小Demo,没必要用git,就手动迭代。写完框架存一下,写一个功能存一下。
2023-09-20 17:29:19 652 1
原创 基于C/C++在Linux上的极简线程池&tcpsocket通信Demo
打开方式:在Linux上(同一台设备同时运行多台客户端和服务器也行,或者同一局域网下的设备),选一台设备编译运行服务器(serve.cpp(创建一个把代码丢进去)),记得链接lpthread在终端里编译 : g++ ./serve.cpp -lpthread运行:./a.out在另(一/多)台设备编译运行客户端即可编译 : g++ ./client.cpp -lpthread运行:./a.out源码客户端:#include<iostream>#include<string.h>#include<stdl
2023-09-19 18:14:04 181 2
基于linux平台使用qt搭建客户端的(C/S)简单局域网聊天室(C/C++)
2023-09-22
基于C/C++在Linux上的QTcreator简单tcp通信(服务器转发未完成版)
2023-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人