1

我是 ruby​​ 及其库的新手,但是如何将 DNSSD 和 TCPServer 结合在一起?

我知道我可以通过以下方式注册 DNSSD 服务

registration = DNSSD.register("My Files", hostname, "local.", port) 

而且我可以通过这种方式为我的 TCPServer 创建 DNSSD 服务,但是如何指定主机名(服务名)如上?

server = TCPServer.open(port)
DNSSD.announce server, 'my awesome HTTP server'

我想广播我的服务器,以便客户端可以解析 DNSSD 服务并建立连接。

如果那是一个愚蠢的问题,请原谅我。

4

1 回答 1

0

我设法通过

  1. 注册 DNSSD 又名 Bonjour 服务
DNSSD.register("", hostname, "local.", port) do |register_reply|
puts "Registration result: #{register_reply.inspect}"
end 
  1. 设置 TCPServer 以侦听同一端口
blackjack = TCPServer.open("",port)
loop do
socket = blackjack.accept
peeraddr = socket.peeraddr
puts "Connection from %s:%d" % socket.peeraddr.values_at(2, 1)
end
于 2016-04-26T04:06:15.233 回答