ExistRuby 2019.1.23 → 2022.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/ExistRuby/MulticastHandler.rb +2 -1
- data/lib/ExistRuby.rb +43 -9
- metadata +20 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b9bef4f3ba1fe32c10e576a41a2a9ffc48274092a1e80f67b1cb444b694a65c7
|
4
|
+
data.tar.gz: 795bbe7d57adfd0474ecae3d2cc4a887f15deaca8f50c55e41581f690f0f414e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cf39729bdf16d60c4c58c3853e7f42ecc35fc90e2cfecfc71f63b9214627b8620f201212a9809430d4ea749534f7ff7299624f96c2eca621debe72218819d23
|
7
|
+
data.tar.gz: a31066d510ecc118e8b6dfd7cb45d8057e5fc76a1e3e9bec921fbdf4c404c832e41946d66d6d43eba22c47ae82c5f85b79619b7a7222bdfdabb8cdba8af8b5f4
|
data/lib/ExistRuby.rb
CHANGED
@@ -1,9 +1,29 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require 'ExistRuby/ExistMessage_pb'
|
3
|
+
#require 'ExistRuby/ExistMessage_pb'
|
4
4
|
require 'ExistRuby/MulticastHandler'
|
5
|
+
require 'cbor'
|
5
6
|
|
6
7
|
class ExistRuby
|
8
|
+
SERVICEPUBLISH=0 # 服务发布。
|
9
|
+
|
10
|
+
def self.setController(controller)
|
11
|
+
@@controller=controller # 记录
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.processMessage(data) # 处理消息
|
15
|
+
messageObject=CBOR.decode(data) # 解析消息。
|
16
|
+
#puts "message object: #{messageObject}" # Debug
|
17
|
+
|
18
|
+
if messageObject['messageType']==0 # 服务发布消息。
|
19
|
+
servicePublishMessage=CBOR.decode(messageObject['servicePublishMessage'])
|
20
|
+
#puts "service publish message: #{servicePublishMessage}" # Debug.
|
21
|
+
|
22
|
+
@@controller.reportServiceDetected(servicePublishMessage['name'], servicePublishMessage['port'], servicePublishMessage['protocolType']) # 报告已经发现了服务。
|
23
|
+
else # 服务探测消息。
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
7
27
|
def initialize
|
8
28
|
host = '239.173.40.5' #组播组主机地址。
|
9
29
|
port = 11500 #组播组端口。
|
@@ -22,19 +42,33 @@ class ExistRuby
|
|
22
42
|
# lanServicePort: (int)
|
23
43
|
# lanServiceProtocolType: (enum)
|
24
44
|
def publishService(lanServiceName, lanServicePort, lanServiceProtocolType)
|
25
|
-
existMessage=Com::Stupidbeauty::Exist::ExistMessage.new #消息体。
|
45
|
+
#existMessage=Com::Stupidbeauty::Exist::ExistMessage.new #消息体。
|
26
46
|
|
27
|
-
existMessage.messageType= Com::Stupidbeauty::Exist::ExistMessage::MessageType::SERVICEPUBLISH #设置消息类型。
|
47
|
+
#existMessage.messageType= Com::Stupidbeauty::Exist::ExistMessage::MessageType::SERVICEPUBLISH #设置消息类型。
|
28
48
|
|
29
|
-
existMessage.servicePublishMessage=Com::Stupidbeauty::Exist::ServicePublishMessage.new #创建服务发布消息体。
|
49
|
+
#existMessage.servicePublishMessage=Com::Stupidbeauty::Exist::ServicePublishMessage.new #创建服务发布消息体。
|
30
50
|
|
31
|
-
existMessage.servicePublishMessage.name=lanServiceName #设置服务名字。
|
32
|
-
existMessage.servicePublishMessage.port=lanServicePort #设置端口号。
|
33
|
-
existMessage.servicePublishMessage.protocolType=lanServiceProtocolType #设置协议类型。
|
51
|
+
#existMessage.servicePublishMessage.name=lanServiceName #设置服务名字。
|
52
|
+
#existMessage.servicePublishMessage.port=lanServicePort #设置端口号。
|
53
|
+
#existMessage.servicePublishMessage.protocolType=lanServiceProtocolType #设置协议类型。
|
54
|
+
|
55
|
+
#packageString=Com::Stupidbeauty::Exist::ExistMessage.encode(existMessage) #序列化为字符串。
|
56
|
+
|
57
|
+
servicePublishMessage={} # 服务发布消息。
|
58
|
+
servicePublishMessage['name']=lanServiceName # 服务名字。
|
59
|
+
servicePublishMessage['port']=lanServicePort # 服务端口
|
60
|
+
servicePublishMessage['protocolType']=lanServiceProtocolType # 协议类型。
|
61
|
+
|
62
|
+
servicePublishMessageBytteArray=servicePublishMessage.to_cbor # 服务发布消息体。
|
34
63
|
|
35
|
-
|
64
|
+
existMessage={} # 我存在消息体。
|
65
|
+
existMessage['messageType']=SERVICEPUBLISH # 服务发布。
|
66
|
+
|
67
|
+
existMessage['servicePublishMessage']=servicePublishMessageBytteArray # 服务发布消息体。
|
68
|
+
|
69
|
+
replyByteArray = existMessage.to_cbor # # 打包成字节数组。
|
36
70
|
|
37
71
|
#发送:
|
38
|
-
@networkThread.castData(
|
72
|
+
@networkThread.castData(replyByteArray) #发送数据。
|
39
73
|
end
|
40
74
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ExistRuby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2022.1.31
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hxcan Cai
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -44,6 +44,20 @@ dependencies:
|
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '1.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: hx_cbor
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2021.8.20
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 2021.8.20
|
47
61
|
description: Exist ruby. Auto service discovery in the LAN.
|
48
62
|
email: caihuosheng@gmail.com
|
49
63
|
executables: []
|
@@ -57,7 +71,7 @@ homepage: http://rubygems.org/gems/ExistRuby
|
|
57
71
|
licenses:
|
58
72
|
- MIT
|
59
73
|
metadata: {}
|
60
|
-
post_install_message:
|
74
|
+
post_install_message:
|
61
75
|
rdoc_options: []
|
62
76
|
require_paths:
|
63
77
|
- lib
|
@@ -72,9 +86,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
86
|
- !ruby/object:Gem::Version
|
73
87
|
version: '0'
|
74
88
|
requirements: []
|
75
|
-
|
76
|
-
|
77
|
-
signing_key:
|
89
|
+
rubygems_version: 3.1.6
|
90
|
+
signing_key:
|
78
91
|
specification_version: 4
|
79
92
|
summary: Exist ruby.
|
80
93
|
test_files: []
|