关于frpc错误处理的优化
前言
之前对于frpc call
调用的错误处理,只是简单的打印了日志、返回nil
结果,这对于调用处其实不太友好,没法第一时间得知问题所在。
优化方案
- 新增返回错误码,错误内容,错误方。
- 取消掉frpc_client
call
调用出错就打印的日志,交给调用的地方做错误处理决定打不打印日志。
错误码
frpc 会出现三种错误。
WAIT_CONNECT_TIME_OUT
这种情况就是等待指定时间后还没有和对端建立好连接,timeout
超时时间是可以在frpc_client_m
中配置的,默认10秒。SOCKET_ERROR
socket网络错误,通常就是对端断开连接了或者网络异常。TRANSLATION_PEER_ERROR
对端出错,通常就是对端代码报错了。
错误内容
出现的描述信息。
错误方
WAIT_CONNECT_TIME_OUT 这种情况不会有错误方,因为调用并没有发出去。
all 调用处理
all调用会发给指定svr_name
的所有结点,这时候可能部分成功,部分失败,在错误处理上也需要分开处理。在保证兼容的情况下新增了err_list
的返回值。
1 |
|
关于frpc错误处理的优化
https://huahua132.github.io/2025/02/10/skynet_fly_ss/frpc_error_code/