< 返回版块

fifc 发表于 2020-01-12 16:24

web client连接server,每次都多出来一个链接,close_wait状态,服务端应该已经主动断开了。拥有client链接的函数已经结束,应该自动关闭socket才对,而且client里也没找到手动关闭的方法。等连接数涨到1000多的时候接无法连接服务器了。

评论区

写评论
作者 fifc 2020-01-16 18:30

改用全局的web client实例解决了连接不关闭问题。但是有个新的致命问题,就是一但网络掉线再恢复,后续使用的连接请求都没有反应,产生超时错误,感觉有点像事件循环停止了。研究了很久,还是不知道怎么处理这种情况,没找到错误处理与恢复的方法

jmjoy 2020-01-16 09:26

isahc,你值得拥有。

rock117 2020-01-13 21:35

换request 或者 hyper库吧, 这框架文档写得也太少了 官网就个hello world的例子 简直没法看。

shaitao 2020-01-13 18:21

换别的试试, 比如reqwest

作者 fifc 2020-01-13 16:08

我是每个请求新建一个webclient,猜想这样可能有问题,难道说要全局用一个实例?可是没找到这方面文档

作者 fifc 2020-01-13 11:04

肯定没有循环引用。试过调用drop也没用 对以下内容的回复:

rock117 2020-01-12 22:48

没用过 actix. 不过基于对 rust的理解, rust的对象只要被drop了 资源就会回收,所以你的web client对象是不是一直没被drop,是不是有共享引用呢,不知道这么理解对不对。

1 共 7 条评论, 1 页