Browse Source

Merge pull request #1636 from fatedier/new

send closeProxy msg to server then client start proxy error
pull/1637/head
fatedier 5 years ago committed by GitHub
parent
commit
5336155365
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      README_zh.md
  2. 10
      client/proxy/proxy_wrapper.go
  3. 4
      conf/frpc_full.ini

4
README_zh.md

@ -546,10 +546,10 @@ allow_ports = 2000-3000,3001,3003,4000-50000
type = tcp type = tcp
local_port = 22 local_port = 22
remote_port = 6000 remote_port = 6000
bandwith_limit = 1MB bandwidth_limit = 1MB
``` ```
在代理配置中增加 `bandwith_limit` 字段启用此功能,目前仅支持 `MB``KB` 单位。 在代理配置中增加 `bandwidth_limit` 字段启用此功能,目前仅支持 `MB``KB` 单位。
### TCP 多路复用 ### TCP 多路复用

10
client/proxy/proxy_wrapper.go

@ -112,6 +112,7 @@ func (pw *ProxyWrapper) SetRunningStatus(remoteAddr string, respErr string) erro
} }
if err := pw.pxy.Run(); err != nil { if err := pw.pxy.Run(); err != nil {
pw.close()
pw.Status = ProxyStatusStartErr pw.Status = ProxyStatusStartErr
pw.Err = err.Error() pw.Err = err.Error()
pw.lastStartErr = time.Now() pw.lastStartErr = time.Now()
@ -140,7 +141,10 @@ func (pw *ProxyWrapper) Stop() {
pw.monitor.Stop() pw.monitor.Stop()
} }
pw.Status = ProxyStatusClosed pw.Status = ProxyStatusClosed
pw.close()
}
func (pw *ProxyWrapper) close() {
pw.handler(event.EvCloseProxy, &event.CloseProxyPayload{ pw.handler(event.EvCloseProxy, &event.CloseProxyPayload{
CloseProxyMsg: &msg.CloseProxy{ CloseProxyMsg: &msg.CloseProxy{
ProxyName: pw.Name, ProxyName: pw.Name,
@ -178,11 +182,7 @@ func (pw *ProxyWrapper) checkWorker() {
} else { } else {
pw.mu.Lock() pw.mu.Lock()
if pw.Status == ProxyStatusRunning || pw.Status == ProxyStatusWaitStart { if pw.Status == ProxyStatusRunning || pw.Status == ProxyStatusWaitStart {
pw.handler(event.EvCloseProxy, &event.CloseProxyPayload{ pw.close()
CloseProxyMsg: &msg.CloseProxy{
ProxyName: pw.Name,
},
})
xl.Trace("change status from [%s] to [%s]", pw.Status, ProxyStatusCheckFailed) xl.Trace("change status from [%s] to [%s]", pw.Status, ProxyStatusCheckFailed)
pw.Status = ProxyStatusCheckFailed pw.Status = ProxyStatusCheckFailed
} }

4
conf/frpc_full.ini

@ -75,8 +75,8 @@ meta_var2 = 234
type = tcp type = tcp
local_ip = 127.0.0.1 local_ip = 127.0.0.1
local_port = 22 local_port = 22
# limit bandwith for this proxy, unit is KB and MB # limit bandwidth for this proxy, unit is KB and MB
bandwith_limit = 1MB bandwidth_limit = 1MB
# true or false, if true, messages between frps and frpc will be encrypted, default is false # true or false, if true, messages between frps and frpc will be encrypted, default is false
use_encryption = false use_encryption = false
# if true, message will be compressed # if true, message will be compressed

Loading…
Cancel
Save