mirror of
https://github.com/fumiama/simple-kanban.git
synced 2026-06-06 08:50:28 +08:00
优化客户端逻辑,完善README
This commit is contained in:
62
README.md
62
README.md
@@ -3,7 +3,7 @@
|
||||
|
||||
# 编译
|
||||
|
||||
仅适用于`unix`类系统,`windows`下编译请自行将`socket`实现替换为`winsock`
|
||||
仅适用于类`unix`系统(包括Apple),`windows`下编译请自行将`socket`实现替换为`winsock`
|
||||
|
||||
```bash
|
||||
git clone https://github.com/fumiama/simple-kanban.git
|
||||
@@ -16,47 +16,79 @@ make
|
||||
|
||||
# 数据格式
|
||||
|
||||
1. 看板、数据的报文头部有固定的4字节,用来标识之后数据的长度,但回复串(succ/erro/null/get/set)无此头部。
|
||||
1. 看板、数据的报文头部有固定的4字节(小端序),用来标识之后数据的长度,但回复串(succ/erro/null/get/set)则无此头部。
|
||||
2. PASSWORD、SETPASS位于`server.c`头部,可自行定义。
|
||||
|
||||
# 使用
|
||||
# 服务端使用
|
||||
|
||||
0. 启动程序
|
||||
## 0. 启动程序
|
||||
|
||||
```bash
|
||||
./simple-kanban -d 7777 1 ./kanban.txt ./data.bin
|
||||
./simple-kanban [-d] 7777 1 ./kanban.txt ./data.bin
|
||||
```
|
||||
|
||||
1. 用`PASSWORD`连接,连接后10秒无下一步操作自动断开
|
||||
其中-d为可选项,如果添加,程序将以daemon状态运行。
|
||||
|
||||
## 1. 建立连接
|
||||
|
||||
连接后10秒无下一步操作自动断开。建立连接的操作一次会话只需执行一次。
|
||||
|
||||
- 发送:`PASSWORD`字串
|
||||
|
||||
2. 获得看板
|
||||
## 2. 获得看板
|
||||
|
||||
- 发送:get
|
||||
- 返回:get
|
||||
- 发送:版本号(一串数字)
|
||||
- 返回:看板(有新消息)/`null`(无新消息)
|
||||
- 返回:头+看板(有新消息)/`null`(无新消息)
|
||||
|
||||
3. 获得数据
|
||||
## 3. 获得数据
|
||||
|
||||
- 发送:cat
|
||||
- 返回:数据
|
||||
- 返回:头+数据
|
||||
|
||||
4. 设置看板
|
||||
## 4. 设置看板
|
||||
|
||||
- 发送:set
|
||||
- 返回:set
|
||||
- 发送:ver+`SETPASS`
|
||||
- 返回:data
|
||||
- 发送:新的看板
|
||||
- 发送:头+新的看板
|
||||
- 返回:succ
|
||||
|
||||
5. 设置数据
|
||||
## 5. 设置数据
|
||||
|
||||
- 发送:set
|
||||
- 返回:set
|
||||
- 发送:dat+`SETPASS`
|
||||
- 返回:data
|
||||
- 发送:新的数据
|
||||
- 返回:succ
|
||||
- 发送:头+新的数据
|
||||
- 返回:succ
|
||||
|
||||
# 简易客户端使用
|
||||
|
||||
本程序自带一个简易客户端`client.c`,编译后名为`simple-kanban-client`,能够实现所有和服务端的交互功能。
|
||||
|
||||
## 0. 启动程序
|
||||
|
||||
```bash
|
||||
./simple-kanban-client 127.0.0.1 7777
|
||||
```
|
||||
|
||||
接下来即可按照上面的交互流程开始使用。
|
||||
|
||||
## 1. 发送命令
|
||||
|
||||
直接输入命令,回车即可。
|
||||
|
||||
## 2. 发送文件
|
||||
|
||||
键入:file
|
||||
|
||||
回车,然后输入文件路径,回车即可。
|
||||
|
||||
## 3. 退出
|
||||
|
||||
键入:quit
|
||||
|
||||
回车即可
|
||||
5
client.c
5
client.c
@@ -90,7 +90,10 @@ int main(int argc,char *argv[]) { //usage: ./client host port
|
||||
fclose(fp);
|
||||
printf("Send count:%lld\n", len);
|
||||
} else puts("Open file error!");
|
||||
} else send(sockfd, buf, strlen(buf), 0);
|
||||
} else {
|
||||
send(sockfd, buf, strlen(buf), 0);
|
||||
if(!strcmp(buf, "quit")) exit(EXIT_SUCCESS);
|
||||
}
|
||||
sleep(1);
|
||||
}
|
||||
} else perror("Create msg thread failed");
|
||||
|
||||
Reference in New Issue
Block a user