Skip to content

Bobbi#164

Open
BobbiHao wants to merge 2 commits intoqicosmos:masterfrom
BobbiHao:bobbi
Open

Bobbi#164
BobbiHao wants to merge 2 commits intoqicosmos:masterfrom
BobbiHao:bobbi

Conversation

@BobbiHao
Copy link
Copy Markdown

@BobbiHao BobbiHao commented Sep 5, 2025

解决 rest_rpc创建子进程, 退出后,端口号被子进程占用的问题

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 5, 2025

Code Coverage Report
for detail, goto summary download Artifacts

Filename                    Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
client_util.hpp                     4                 0   100.00%          25                 4    84.00%           4                 2    50.00%
codec.h                             4                 0   100.00%          24                 0   100.00%           0                 0         -
connection.h                       40                 4    90.00%         380                93    75.53%          72                37    48.61%
io_service_pool.h                   5                 0   100.00%          32                 1    96.88%          12                 1    91.67%
md5.hpp                            19                 2    89.47%         127                 8    93.70%          24                 0   100.00%
router.h                           19                 1    94.74%         152                26    82.89%           8                 2    75.00%
rpc_client.hpp                     75                 6    92.00%         687               119    82.68%         138                55    60.14%
rpc_server.h                       28                 3    89.29%         205                20    90.24%          44                10    77.27%
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                             194                16    91.75%        1632               271    83.39%         302               107    64.57%

@qicosmos
Copy link
Copy Markdown
Owner

qicosmos commented Sep 5, 2025

感谢提pr。

不过这个修复方法不太好,应该用设置tcp option方式去修复。

类似于:

acceptor_.set_option(tcp::acceptor::reuse_address(true), ec);

或者我稍晚点来修复这个问题吧。

@BobbiHao
Copy link
Copy Markdown
Author

BobbiHao commented Sep 5, 2025

我的实际应用和自己写的小demo中这个reuse_address是无效的,reuse_address应该是解决TIME_WAIT状态下端口不可用的问题。我现在遇到的问题 是 子进程已经把端口号给listen了。 您可以按我这个角度改进改进

@qicosmos
Copy link
Copy Markdown
Owner

qicosmos commented Sep 5, 2025

我的实际应用和自己写的小demo中这个reuse_address是无效的,reuse_address应该是解决TIME_WAIT状态下端口不可用的问题。我现在遇到的问题 是 子进程已经把端口号给listen了。 您可以按我这个角度改进改进

有效的,现在的代码中不能直接设置这个,要在listen的时候设置才有效。我晚点fix了,你再验证一下。

@BobbiHao
Copy link
Copy Markdown
Author

BobbiHao commented Sep 5, 2025

好的 多谢 期待您的补丁 😀

@qicosmos qicosmos mentioned this pull request Sep 8, 2025
@qicosmos
Copy link
Copy Markdown
Owner

qicosmos commented Sep 8, 2025

#167
测试case:https://github.com/qicosmos/rest_rpc/pull/167/files#diff-e7fc3cd67ba602878bc45df454299d5db32566c8550927e4a16ef92150c16e4a

如果server启动的时候,指定的端口被占用,则server启动失败;

设置了reuse_address后,监听某个端口的server 正常stop之后,再启动server不会有端口被占用的问题;

你测测这个pr在你的场景下有没有解决问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants