1
0
mirror of https://github.com/fumiama/simple-kanban.git synced 2026-06-05 00:10:29 +08:00
Files
simple-kanban/README.md
2022-10-26 15:31:31 +08:00

2.8 KiB
Raw Permalink Blame History

Shinsako

simple-kanban

基于C语言Socket编程的简易公告发布程序

准备工作

您需要首先安装simple-protobuf,并记住安装路径。如果安装路径不是/usr/local,需要手动更改CMakeLists.txt的路径指向正确位置。

git clone https://github.com/fumiama/simple-protobuf.git
cd simple-protobuf
mkdir build
cd build
cmake ..
make
make install

编译

仅适用于类unix系统包括Applewindows下编译请自行将socket实现替换为winsock

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. 启动程序

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. 启动程序

./simple-kanban-client 127.0.0.1 7777

接下来即可按照上面的交互流程开始使用。

1. 发送命令

直接输入命令,回车即可。

2. 发送文件

键入file

回车,然后输入文件路径,回车即可。

3. 退出

键入quit

回车即可

上传小工具

uploader文件夹有一个上传小工具,用法如下

./push.sh ip port kanban.txt data.bin password setpass