69 lines
2.3 KiB
Markdown
Executable File
69 lines
2.3 KiB
Markdown
Executable File
# 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
|
|
```
|