我正在尝试通过关于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到端口号,每次都拒绝连接。
答案 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