Skip to content
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

适配了一个Golang 版跨平台客户端 #176

Open
v03413 opened this issue Jun 15, 2022 · 13 comments
Open

适配了一个Golang 版跨平台客户端 #176

v03413 opened this issue Jun 15, 2022 · 13 comments

Comments

@v03413
Copy link

v03413 commented Jun 15, 2022

@cppla 作者您好,https://github.com/cppla/ServerStatus 是一个很实用的项目,感谢维护开发。


我在使用过程中各方面都挺好的、但是经过实际测试,在部分嵌入式设备中因为Python环境问题,导致无法正常运行,亦或者比如我,不太希望依赖系统;于是我根据原版仿写了一个 Golang版本的客户端以解决上诉问题,您看看是否有需要引入当前仓库。

  • 执行参数命令与Python版本兼容
  • 已针对OpenWRT系统做了适配

仓库地址: https://github.com/v03413/ServerStatus-Client

@gxusb
Copy link

gxusb commented Jun 17, 2022

支持macOS吗

@v03413
Copy link
Author

v03413 commented Jun 17, 2022

支持macOS吗

暂不支持

@cppla
Copy link
Owner

cppla commented Jun 20, 2022

这个单独的库怎么引入呢?

@v03413
Copy link
Author

v03413 commented Jun 20, 2022

这个单独的库怎么引入呢?

啊~ 我的意思是,只是在 README 客户端项做下说明,如果有需求的可以使用此版本 客户端,哈哈~

@cppla
Copy link
Owner

cppla commented Jun 21, 2022

总流量不准确

v03413 added a commit to v03413/ServerStatus-Client that referenced this issue Jun 21, 2022
v03413 added a commit to v03413/ServerStatus-Client that referenced this issue Jun 21, 2022
@v03413
Copy link
Author

v03413 commented Jun 23, 2022

已增加对OpenWRT Luci 适配

@CHN-STUDENT
Copy link

@v03413 最近我也用 golang 重写了客户端和服务端,请问你测三网 ping 值时候,time和ping那个代表ping,那个代表丢包率?

@CHN-STUDENT
Copy link

CHN-STUDENT commented Jul 15, 2022

@cppla 老大,请教下咱的 ipstatus(ipv6,ipv4),ping 网络相关的算法说明,我写的 golang 版本还存在问题,还需要再次学习。
嗯,我的 python 和 golang 学的也是一知半解,勉强能用的...请理解,写的代码质量不行,还有望老大多多指教。
image

服务器: https://github.com/MoYu-Group/systemMoniter-Server
客户端:https://github.com/MoYu-Group/systemMoniter-Node

@v03413
Copy link
Author

v03413 commented Jul 15, 2022

@v03413 最近我也用 golang 重写了客户端和服务端,请问你测三网 ping 值时候,time和ping那个代表ping,那个代表丢包率?

这里的三网ping值,实际上测得是tcping(非icmp),见

b = timeit.default_timer()
socket.create_connection((IP, port), timeout=1).close()
pingTime[mark] = int((timeit.default_timer() - b) * 1000)
;至于丢包率,实际上是取最近100次的TCP握手成功率。

@CHN-STUDENT
Copy link

CHN-STUDENT commented Jul 15, 2022

@v03413 我没记错的话,ipstatus 取三网,只要通两个就是 true,否则就是 false,是么?time_xxxx是 ping 值,ping_xxxx 是丢包率, 还有请问你们 ipv6 和 ipv4 侦测的什么。是服务器到客户端连接,还是三网 ping?

@CHN-STUDENT
Copy link

这是我之前写的网络侦测部分,总感觉有点问题,希望大佬们给点意见。
https://github.com/CHN-STUDENT/ServerStatus/blob/master/clients/golang/awesomeProject/ping.go

@cppla
Copy link
Owner

cppla commented Jul 16, 2022

python代码挺简单,无复杂算法,自己看一下就能明白 @CHN-STUDENT

@CHN-STUDENT
Copy link

image

ok,目前初版已经成功,但是貌似网络流量不准确,且功能还没有完全跟 python 版本一样,且前端检测在线逻辑也可以优化,还有高io请求下对性能有没有影响。
不过我们用不到前端,我们要用帆软。
感谢前人大佬们的贡献!

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

No branches or pull requests

4 participants