我怎么知道我的Macbook上有什么端口?

时间:2014-10-15 20:14:32

标签: ruby

我正在尝试通过关于TCPServer和线程的“The Well Grounded Rubyist”中的这个特定代码示例。代码如下:

require 'socket'
server = TCPServer.new(3939)
connect = server.accept
connect.puts "Hi. Here's the date."
connect.puts 'date'
connect.close
server.close

我如何知道Macbook上的端口?示例中的文档有2000。但是,当我尝试这两个数字代码不执行时,它会继续无限期挂起。

如何检查这些号码是否为经过验证的端口?我尝试telnet到端口号,每次都拒绝连接。

1 个答案:

答案 0 :(得分:0)

server.accepts等待客户端连接到服务器。如果没有发生,它只是在等待。运行代码,然后打开终端并输入:

require 'socket'

s = TCPSocket.new 'localhost', 3939

此时您将创建TCPSocket,它将与您的服务器连接。这将导致其余代码执行。您可以使用套接字进行检查:

while line = s.gets # Read lines from socket
  puts line         # and print them
end