ithewei пре 1 година
родитељ
комит
3bac06a087
2 измењених фајлова са 68 додато и 0 уклоњено
  1. 68 0
      examples/kcptun/README.md
  2. BIN
      examples/kcptun/kcptun.png

+ 68 - 0
examples/kcptun/README.md

@@ -0,0 +1,68 @@
+# Intro
+
+<img src="kcptun.png" alt="kcptun" height="300px"/>
+
+> *Disclaimer: The picture comes from [github.com/xtaci/kcptun](https://github.com/xtaci/kcptun). Thanks so much.*
+
+# Build
+
+```shell
+./configure --with-kcp
+make clean
+make examples
+make kcptun
+```
+
+# Usage
+
+```shell
+$ bin/kcptun_server -h
+
+Usage: kcptun_server [hvdl:t:m:]
+Options:
+
+  -h|--help                 Print this information
+  -v|--version              Print version
+  -d|--daemon               Daemonize
+  -l|--listen value         kcp server listen address (default: ":4000")
+  -t|--target value         target server address (default: "127.0.0.1:8080")
+  -m|--mode value           profiles: fast3, fast2, fast, normal (default: "fast")
+     --mtu value            set maximum transmission unit for UDP packets (default: 1350)
+     --sndwnd value         set send window size(num of packets) (default: 1024)
+     --rcvwnd value         set receive window size(num of packets) (default: 1024)
+```
+
+```shell
+$ bin/kcptun_client -h
+
+Usage: kcptun_client [hvdl:r:m:]
+Options:
+
+  -h|--help                 Print this information
+  -v|--version              Print version
+  -d|--daemon               Daemonize
+  -l|--localaddr value      local listen address (default: ":8388")
+  -r|--remoteaddr value     kcp server address (default: "127.0.0.1:4000")
+  -m|--mode value           profiles: fast3, fast2, fast, normal (default: "fast")
+     --mtu value            set maximum transmission unit for UDP packets (default: 1350)
+     --sndwnd value         set send window size(num of packets) (default: 128)
+     --rcvwnd value         set receive window size(num of packets) (default: 512)
+```
+
+# Test
+`tcp_client -> kcptun_client -> kcptun_server -> tcp_server`
+```shell
+tcp_server:     bin/tcp_echo_server 1234
+kcptun_server:  bin/kcptun_server -l :4000 -t 127.0.0.1:1234 --mode fast3
+kcptun_client:  bin/kcptun_client -l :8388 -r 127.0.0.1:4000 --mode fast3
+tcp_client:     bin/nc 127.0.0.1 8388
+                > hello
+                < hello
+```
+
+This kcptun examples does not implement encryption, compression, and fec.<br>
+if you want to use [github.com/xtaci/kcptun](https://github.com/xtaci/kcptun), please add `--crypt null --nocomp --ds 0 --ps 0`.<br>
+For example:
+```shell
+golang_kcptun_server -l :4000 -t 127.0.0.1:1234 --mode fast3 --crypt null --nocomp --ds 0 --ps 0
+```

BIN
examples/kcptun/kcptun.png