Compare commits

..
1 Commits
Author SHA1 Message Date
xtaci 13e980cdff lint 2016-06-30 14:45:26 +08:00
3 changed files with 41 additions and 12 deletions
+35 -10
View File
@@ -1,25 +1,36 @@
# <img src="logo.png" alt="kcptun" height="60px" />
[![GoDoc][1]][2] [![Build Status][3]][4] [![Go Report Card][5]][6] [![Coverage Statusd][7]][8]
[![GoDoc][1]][2] [![Release][13]][14] [![Powered][17]][18] [![Build Status][3]][4] [![Go Report Card][5]][6] [![Downloads][15]][16]
[1]: https://godoc.org/github.com/xtaci/kcptun?status.svg
[2]: https://godoc.org/github.com/xtaci/kcptun
[3]: https://travis-ci.org/xtaci/kcptun.svg?branch=master
[4]: https://travis-ci.org/xtaci/kcptun
[5]: https://goreportcard.com/badge/xtaci/kcptun
[6]: https://goreportcard.com/report/xtaci/kcptun
[7]: https://coveralls.io/repos/github/xtaci/kcptun/badge.svg?branch=master
[8]: https://coveralls.io/github/xtaci/kcptun?branch=master
[5]: https://goreportcard.com/badge/github.com/xtaci/kcptun
[6]: https://goreportcard.com/report/github.com/xtaci/kcptun
[7]: https://img.shields.io/badge/license-MIT-blue.svg
[8]: https://raw.githubusercontent.com/xtaci/kcptun/master/LICENSE.md
[9]: https://img.shields.io/github/stars/xtaci/kcptun.svg
[10]: https://github.com/xtaci/kcptun/stargazers
[11]: https://img.shields.io/github/forks/xtaci/kcptun.svg
[12]: https://github.com/xtaci/kcptun/network
[13]: https://img.shields.io/github/release/xtaci/kcptun.svg
[14]: https://github.com/xtaci/kcptun/releases/latest
[15]: https://img.shields.io/github/downloads/xtaci/kcptun/total.svg?maxAge=2592000
[16]: https://github.com/xtaci/kcptun/releases
[17]: https://img.shields.io/badge/KCP-Powered-blue.svg
[18]: https://github.com/skywind3000/kcp
[19]: https://img.shields.io/docker/pulls/xtaci/kcptun.svg?maxAge=2592000
[20]: https://hub.docker.com/r/xtaci/kcptun/
TCP流转换为KCP+UDP流,:zap:***[下载地址](https://github.com/xtaci/kcptun/releases/latest)***:zap:工作示意图:
TCP流转换为KCP+UDP流,:zap:***[官方下载地址](https://github.com/xtaci/kcptun/releases/latest)***:zap:工作示意图:
![kcptun](kcptun.png)
***kcptun是[kcp](https://github.com/xtaci/kcp-go)协议的一个简单应用,可以用于任意tcp网络程序的传输承载,以提高在丢包环境下的网络流畅度。***
_采用极简设计,客户端+服务器源码总共400行,方便用户自己扩展_
***kcptun是[kcp-go](https://github.com/xtaci/kcp-go)的一个测试应用,可以用于任意tcp网络程序的传输承载(尤其用于游戏数据传输测试),用于优化丢包环境下的网络流畅度。***
### *快速设定* :lollipop:
```
服务器: ./server_linux_amd64 -t "127.0.0.1:1080" -l ":554" -mode fast2 // 转发到本地1080端口
客户端: ./client_darwin_amd64 -r "IP地址:554" -l ":1080" -mode fast2 // 监听本地1080端口
客户端: ./client_darwin_amd64 -r "服务器IP地址:554" -l ":1080" -mode fast2 // 监听本地1080端口
```
### *使用の方法* :lollipop:
@@ -36,8 +47,12 @@ _采用极简设计,客户端+服务器源码总共400行,方便用户自
适用大部分ADSL接入(非对称上下行)的参数(实验环境电信100M ADSL)
SERVER: -mtu 1400 -sndwnd 2048 -rcvwnd 2048 -mode fast2
CLIENT: -mtu 1400 -sndwnd 256 -rcvwnd 2048 -mode fast2 -dscp 46
其它带宽请按比例降低窗口,比如50M ADSL,把CLIENT的 -sndwnd -rcvwnd减掉一半,SERVER不变
```
*简易调优方法*
> 第一步:同时在两端逐步增大client rcvwnd和server sndwnd;
> 第二步:尝试下载,观察如果带宽利用率接近物理带宽则停止,否则跳转到第一步。
*巭孬嫑乱动*
### *DSCP* :lollipop:
@@ -62,6 +77,16 @@ DSCP差分服务代码点(Differentiated Services Code Point),IETF于1998
通过```-datashard 10 -parityshard 3``` 可以调整Reed Solomon参数。
### *Snappy数据流压缩* :lollipop:
> Snappy is a compression/decompression library. It does not aim for maximum
> compression, or compatibility with any other compression library; instead,
> it aims for very high speeds and reasonable compression. For instance,
> compared to the fastest mode of zlib, Snappy is an order of magnitude faster
> for most inputs, but the resulting compressed files are anywhere from 20% to
> 100% bigger.
Reference: http://google.github.io/snappy/
### *SNMP* :lollipop:
```go
// Snmp defines network statistics indicator
+3 -1
View File
@@ -18,8 +18,10 @@ import (
)
var (
// VERSION is injected by buildflags
VERSION = "SELFBUILD"
SALT = "kcp-go"
// SALT is use for pbkdf2 key expansion
SALT = "kcp-go"
)
type compStream struct {
+3 -1
View File
@@ -18,8 +18,10 @@ import (
)
var (
// VERSION is injected by buildflags
VERSION = "SELFBUILD"
SALT = "kcp-go"
// SALT is use for pbkdf2 key expansion
SALT = "kcp-go"
)
type compStream struct {