<div align="center">
<img src=".github/shibako.jpg" width = "360" height = "360" alt="Shinsako"><br>
<h1>simple-kanban</h1>
基于C语言Socket编程的简易公告发布程序<br><br>
</div>
## 准备工作
您需要首先安装[simple-protobuf](https://github.com/fumiama/simple-protobuf),并记住安装路径。如果安装路径不是`/usr/local`,需要手动更改`CMakeLists.txt`的路径指向正确位置。
```bash
git clone https://github.com/fumiama/simple-protobuf.git
cd simple-protobuf
mkdir build
cd build
cmake ..
make
make install
```
## 编译
仅适用于类`unix`系统(包括Apple),`windows`下编译请自行将`socket`实现替换为`winsock`
```bash
git clone https://github.com/fumiama/simple-kanban.git
cd simple-kanban
mkdir build
cd build
cmake ..
make
make install
```
## 数据格式
1. 看板、数据的报文头部有固定的4字节(小端序),用来标识之后数据的长度,但回复串(succ/erro/null/get/set)则无此头部。
2. PASSWORD、SETPASS位于`server.c`头部,可自行定义。
## 服务端使用
> 以下所有交互均可粘连,如:`PASSWORDget100quit`将实现建立连接+获得看板,`PASSWORDcatquit`将建立连接并获取数据。
### 0. 启动程序
```bash
simple-kanban [-d] 7777 1 ./kanban.txt ./data.bin ./cfg.sp
```
1. -d为可选项,如果添加,程序将以daemon状态运行。
2. `cfg.sp`为配置文件,通过编译生成的`cfgwriter`生成。
3. `kanban.txt`第一行可以为一串数字,指示版本号。如果无数字,则无条件发送看板。
### 1. 建立连接
连接后10秒无下一步操作自动断开。建立连接的操作一次会话只需执行一次。
- 发送:`PASSWORD`字串
### 2. 获得看板
- 发送:get
- 返回:get
- 发送:版本号(一串数字)
- 返回:头+看板(有新消息)/`null`(无新消息)
### 3. 获得数据
- 发送:cat
- 返回:头+数据
### 4. 设置看板
- 发送:`SETPASS`
- 返回:`SETPASS`
- 发送:ver
- 返回:data
- 发送:头+新的看板
- 返回:succ
### 5. 设置数据
- 发送:`SETPASS`
- 返回:`SETPASS`
- 发送:dat
- 返回:data
- 发送:头+新的数据
- 返回:succ
### 6. 退出
- 发送:quit
## 简易客户端使用
本程序自带一个简易客户端`client.c`,编译后名为`simple-kanban-client`,能够实现所有和服务端的交互功能。
### 0. 启动程序
```bash
./simple-kanban-client 127.0.0.1 7777
```
接下来即可按照上面的交互流程开始使用。
### 1. 发送命令
直接输入命令,回车即可。
### 2. 发送文件
键入:file
回车,然后输入文件路径,回车即可。
### 3. 退出
键入:quit
回车即可
## 上传小工具
在`uploader`文件夹有一个上传小工具,用法如下
```bash
./push.sh ip port kanban.txt data.bin password setpass
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于C语言Socket编程的简易公告发布程序项目资源.zip (42个子文件)
.git\logs\refs\remotes\origin\HEAD 195B
CMakeLists.txt 801B
.git\hooks\update.sample 4KB
.git\hooks\applypatch-msg.sample 478B
.git\hooks\pre-push.sample 1KB
.git\hooks\pre-applypatch.sample 424B
.git\packed-refs 779B
.git\refs\remotes\origin\HEAD 30B
.git\description 73B
LICENSE 35KB
.git\logs\HEAD 195B
server.c 13KB
client.c 3KB
.git\objects\pack\pack-4dd5271515d8ed4bd6f5e88b388bcb68b7fb087c.idx 14KB
.git\hooks\pre-rebase.sample 5KB
.git\hooks\prepare-commit-msg.sample 1KB
.git\index 1KB
config.h 437B
cfgwriter.c 899B
.git\hooks\pre-commit.sample 2KB
.git\logs\refs\heads\main 195B
file.h 4KB
uploader\push.sh 343B
.git\HEAD 21B
sample.txt 89B
.git\hooks\push-to-checkout.sample 3KB
.git\hooks\fsmonitor-watchman.sample 5KB
.git\hooks\pre-merge-commit.sample 416B
.git\info\exclude 240B
.git\objects\pack\pack-4dd5271515d8ed4bd6f5e88b388bcb68b7fb087c.pack 230KB
tcpool.h 15KB
.git\hooks\pre-receive.sample 544B
.gitignore 548B
uploader\.gitignore 19B
.github\shibako.jpg 134KB
.git\objects\pack\pack-4dd5271515d8ed4bd6f5e88b388bcb68b7fb087c.rev 2KB
README.md 3KB
.git\hooks\commit-msg.sample 896B
.git\config 303B
.git\hooks\post-update.sample 189B
.git\refs\heads\main 41B
.git\hooks\sendemail-validate.sample 2KB
共 42 条
- 1
资源评论
学习开源项目成就精彩人生
- 粉丝: 1310
- 资源: 2604
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 用于执行大规模对象检测和实例分割的轻量级视觉库.zip
- 用于小物体检测的 Tile(切片)YOLO 数据集.zip
- 用于实时对象检测的 YOLOv3 和 YOLOv3-Tiny 实现.zip
- 用于 YOLO 小物体检测和实例分割的 Python 库.zip
- 用于 NVIDIA Jetson 上 yolov5 推理的 Dockerfile.zip
- cefsharp131版本,支持Mp4,64位
- 用于 Autodistill 的 YOLOv8 目标模型插件.zip
- 生命太短暂,没有时间进行测试.zip
- 斐讯K2刷机包通用版本
- 此脚本在 Berkeley Deep Drive 数据集上执行 K-means 聚类,以找到适合 YOLOv3 的锚框 它最初有 9 个锚框,图像大小为 608x608 如有任何问题,请告诉我.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功