<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
```
普通网友
- 粉丝: 1610
- 资源: 6776
最新资源
- 光伏储能+单相并网逆变运行仿真模型,matlab2021b版本及以上 包含Boost、Buck-boost双向DCDC、并网逆变器三大控制部分 输出光伏300-400V boost电路应用mppt 采
- 校园资料分享平台-JAVA-基于springBoot校园资料分享平台设计与实现(毕业论文+PPT)
- Java毕业设计-基于Springboot+Vue大学生智能消费记账系统源码+数据库
- 基于STM32录音功能设计
- 隔离型DCDC变器设计,LLC谐振变器闭环仿真,变频控制 有自己做的对应明 ,十分详细
- 旅游管理-JAVA-基于springBoot旅游管理系统的设计与实现(毕业论文)
- PEMFC弯月状凹凸结构点状流场设计和优化,软件fluent,优化点块形状和布置方式,改善水管理,提高反应物利用率,提升性能 包括模型,加密网格,速度场,压力场,湍动能场等 满足基本的学习和研究需
- jinjaccalgkegednnccohejagnlnfdag.zip
- 基于自适应多种群寄生樽海鞘群PEDSSA.差分演化的寄生SSA优化门控逻辑单元GRU参数,可用于分类、回归、时序预测任务,代码注释详细
- 课程答疑-JAVA-基于springBoot课程答疑系统设计与实现(毕业论文)
- 锂离子电池老化析锂sei膜热耦合eis电化学阻抗谱优化模型
- 实体单元椭圆主体扭转分析
- 民宿在线预定-JAVA-基于springBoot民宿在线预定平台设计与实现(毕业论文)
- 前处理hypermesh 的 dyna 的汽车碰撞CAE分析 主要内容包含: 1.hypermesh前处理软件基本操作讲解 2.整车模型搭建过程,详细过程 3.各种碰撞的前处理,计算及其结果分析 需要
- 对电机结构进行多目标优化 建相应面模型 对电机转矩性能进行优化,寻最优解
- 相亲网站-JAVA-基于springBoot相亲网站设计与实现(毕业论文+开题+PPT+任务书)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈