class ExistRuby

Public Class Methods

new() click to toggle source
# File lib/ExistRuby.rb, line 7
def initialize
    host = '239.173.40.5' #组播组主机地址。
    port = 11500 #组播组端口。

    @networkThread = EM::open_datagram_socket(host, port, MulticastHandler)
end

Public Instance Methods

publishService(lanServiceName, lanServicePort, lanServiceProtocolType) click to toggle source

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)
# File lib/ExistRuby.rb, line 24
def publishService(lanServiceName, lanServicePort, lanServiceProtocolType)
    existMessage=Com::Stupidbeauty::Exist::ExistMessage.new #消息体。

    existMessage.messageType= Com::Stupidbeauty::Exist::ExistMessage::MessageType::SERVICEPUBLISH #设置消息类型。

    existMessage.servicePublishMessage=Com::Stupidbeauty::Exist::ServicePublishMessage.new #创建服务发布消息体。
    
    existMessage.servicePublishMessage.name=lanServiceName #设置服务名字。
    existMessage.servicePublishMessage.port=lanServicePort #设置端口号。
    existMessage.servicePublishMessage.protocolType=lanServiceProtocolType #设置协议类型。

    packageString=Com::Stupidbeauty::Exist::ExistMessage.encode(existMessage) #序列化为字符串。

    #发送:
    @networkThread.castData(packageString) #发送数据。
end