-
Notifications
You must be signed in to change notification settings - Fork 4.7k
deleted #4876
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deleted #4876
Conversation
|
如果你真的很闲能不能麻烦去issue里找几个bug修一修 |
|
这个古早bug不是很久以前就修复了吗 |
|
the code is clear, for example after the session closed in: Xray-core/common/mux/client.go Line 339 in cb1afb3
there is no notify to server that this session is closed! if you think 2 PR is too much i merge this PR to #4861 and rename that to fix some mux bugs, OK? |
|
当server在这个流上发送下一个帧的时候客户端会发现它已经被关闭了 然后发送end |
Why do we have to wait until the next frame? this is definitely waste. ok, i merge this to previous PR and we can discuss there, i can explain changes one by one. |
|
i just read the mux-code, because many people complained about.
|
实际情况是从sessionManager移除后缓冲区还有没处理完的frame会直接关闭这个连接(就你说的大流量浪费场景这是几乎100%的) |
|
right, I neglected /// what about number 2 and 3, |
|
sessionManager.Add不会返回false 它是在run的的defer里才会关闭导致false的 |
but we close link.writer in client-mux after sessionManager closed, so we should close it in server-mux after sessionManager closed, both side should act same. also, if |
after a sub-connection(session) is closed, we should notify remote peer immediately to close this session.
This did not happen in some cases.(after session-output is closed)
we should close link.Reader and link.Writer after end of ServerWorker-run.
this part of code:
Xray-core/common/mux/server.go
Lines 236 to 240 in cb1afb3
is written incorrectly and needs to be rewritten.
return
s.Close(false)instead ofbuf.Copy(rr, buf.Discard)!!!