我存在:libexist,让局域网内的不同设备可以互相发现
libexist,是一个跨平台的开发库,目的是让局域网内的手机、电脑等设备可以互相发现。
目前支持以下平台/设备/语言:
1.安卓,Java;
2.GNU/Linux,C++;
3.GNU/Linux,C++ QT5;
4.Ruby;
5.Windows,C++ QT5。
适用于OsoLinux及RPM系列发行版的RPM安装包,可在这里下载:
也可扫描下面的二维码以下载到妳的手机上,然后再传送到自己的电脑:
下载完毕之后,使用rpm命令或yum来安装这个RPM包,就行了。
源代码压缩包,可在这里下载:
https://stupidbeauty.com/ArticleImages/1751/ExistCpp-2019.1.23.tar.gz
也可扫描下面的二维码以下载到手机上,然后再传送到自己的电脑:
下载完毕之后,将得到一个名为“ExistCpp-2019.1.23.tar.gz”的gzip压缩包,将其解压之后,得到一个名为“ExistCpp-2019.1.23”的目录。在这个目录中,执行以下命令行命令即可编译安装完成:
qmake-qt5
gmake
gmake install
源代码压缩包,可在这里下载:
https://stupidbeauty.com/ArticleImages/1751/ExistQt-2022.9.24.tar.gz
也可扫描下面的二维码以下载到手机上,然后再传送到自己的电脑:
下载完毕之后,将得到一个名为“ExistQt-2022.9.24.tar.gz”的gzip压缩包,将其解压之后,得到一个名为“ExistQt-2022.9.24”的目录。在这个目录中,执行以下命令行命令即可编译安装完成:
qmake-qt5
gmake
gmake install
安卓版libexist库不需要专门的下载步骤,在安卓开发项目中声明对libexist库的依赖即可:
allprojects {
repositories {
//……
maven { url "https://jitpack.io" }
//……
}
}
dependencies
{
//……
implementation 'com.github.hxcan:existandroid:2022.7.34'
//……
}
使用gem即可安装Ruby版libexist库:
gem install ExistRuby
以下说明libexist各个不同语言/平台版本的关键接口。
class ServicePublisher
{
public :
ServicePublisher (); //!<默认构造函数。
void publishService( string LanServiceName, quint16 LanServicePort, exist :: ServicePublishMessage :: ServiceProtocolType LanServiceProtocolType); //!<发布服务。
};
构造一个ServicePublisher对象,调用它的 publishService( string LanServiceName, quint16 LanServicePort, exist :: ServicePublishMessage :: ServiceProtocolType LanServiceProtocolType) 方法即可向局域网内其它设备发布出自己的服务。
class ExistRuby
# Publish a service to the LAN.
#
# Example:
# >> existRuby=ExistRuby.new
# >> existRuby.publishService("fp_serverPython", 10086, exist::ServicePublishMessage::ServiceProtocolType::GRPC)
#
# Arguments:
# lanServiceName: (String)
# lanServicePort: (int)
# lanServiceProtocolType: (enum)
def publishService(lanServiceName, lanServicePort, lanServiceProtocolType)
#…...
end
end
构造一个ExistRuby对象,调用它的publishService(lanServiceName, lanServicePort, lanServiceProtocolType) 方法即可向局域网内其它设备发布出自己的服务。
以下示例具体展示了各个不同语言/平台版本的用法。
点击以下链接下载示例源代码:
https://bitbucket.org/hxcan/libexist/downloads/ExistCppExample-2018.8.11.tar.gz
或扫描以下二维码以下载到手机,然后传送到电脑:
编译运行起来之后,使用“C++ QT5示例”或“安卓扫描示例”都可发现局域网中一个名为“ ExistCppExample ”的服务。
点击以下链接下载示例源代码:
https://stupidbeauty.com/ArticleImages/1751/ExistQtExample-2022.9.24.tar.gz
或扫描以下二维码以下载到手机,然后传送到电脑:
编译运行起来之后,即可发现局域网中一个名为“ ExistCppExample ”的服务,那是由“C++示例”发布出来的。
使用此示例可向局域网内发布一个名为“ExistAndroidPublishExample”的服务。
点击以下链接下载示例源代码:
https://stupidbeauty.com/ArticleImages/1751/ExistAndroidPublishExample-2022.9.24.tar.gz
或扫描以下二维码以下载到手机,然后传送到电脑:
编译运行起来之后,使用“C++ QT5示例”或“安卓扫描示例”都可发现局域网中一个名为“ Exist AndroidPublish Example ”的服务。
使用此示例可发现局域网中通过libexist发布出来的服务。
点击以下链接下载示例源代码:
https://stupidbeauty.com/ArticleImages/1751/ExistAndroidScanExample-2022.9.24.tar.gz
或扫描以下二维码以下载到手机,然后传送到电脑:
编译运行起来之后,可发现局域网中其它设备通过libexist所发布的服务。
点击以下链接下载示例应用:
https://stupidbeauty.com/ArticleImages/1751/ExistAndroidScanningExample-2022.9.24.e.apk
运行起来之后,可发现局域网中其它设备通过libexist所发布的服务。
点击以下链接下载示例源代码:
https://stupidbeauty.com/ArticleImages/1751/ExistRubyExample-2018.8.11.tar.gz
或扫描以下二维码以下载到手机,然后传送到电脑:
运行起来之后,使用“C++ QT5示例”或“安卓扫描示例”都可发现局域网中一个名为“ Exist Ruby Example ”的服务。
以下是各个不同版本的文档。
点击以下链接下载文档:
https://stupidbeauty.com/ArticleImages/1751/ExistCppApiDocument-2018.8.11.tar.gz
或扫描以下二维码以下载到手机,然后传送到电脑:
解压之后,打开其中的index.html即是接口文档。
点击以下链接在线查看文档:
https://www.rubydoc.info/gems/ExistRuby/2019.1.23
或扫描以下二维码在手机上查看文档:
兰心输入法 的电脑端和安卓端使用libexist互相发现。
自动无线安卓调试 器 的电脑端和安卓端使用libexist互相发现。
漂亮聊天 在各个平台上的版本,都使用libexist互相发现。
安卓 即音箱 的电脑端和安卓端使用libexist互相发现。
漂亮浏览器 ,使用libexist来发现 调码扫描器 ,并发起二维码扫描请求。
调码扫描器,使用libexist来发布自己的二维码扫描服务。
Your opinionsHxLauncher: Launch Android applications by voice commands