Ruby 中的 TCPServer.new(port) 和 TCPServer.open("X.X.X.X", port) 有啥区别?

Posted

技术标签:

【中文标题】Ruby 中的 TCPServer.new(port) 和 TCPServer.open("X.X.X.X", port) 有啥区别?【英文标题】:What is the difference between TCPServer.new(port) and TCPServer.open("X.X.X.X", port) in Ruby?Ruby 中的 TCPServer.new(port) 和 TCPServer.open("X.X.X.X", port) 有什么区别? 【发布时间】:2013-04-13 04:24:36 【问题描述】:

我已经阅读了 Ruby 文档,但我并没有真正理解这两个对象之间的区别。

TCPServer.new(port) 和 TCPServer.open("X.X.X.X", 端口)

我所知道的是 .new 仅响应尝试连接到 IP 的“本地主机”的客户端(并且仅响应同一台计算机上的客户端)。当客户端尝试连接到 127.0.0.0 时,它甚至不起作用,这应该与“localhost”相同。但是 .open 让我允许来自我计算机外部的人进行连接。正如您在上面看到的,我从未向 .new 提供 IP,而只向 .open 提供 IP。我只是想了解这两个一般是如何工作的,所以任何信息都会有所帮助!谢谢!

【问题讨论】:

【参考方案1】:

它们是一样的。在 Programming Ruby 1.9 中,它说:

open: Synonym for TCPServer.new

【讨论】:

以上是关于Ruby 中的 TCPServer.new(port) 和 TCPServer.open("X.X.X.X", port) 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

ruby Ruby:Llenar un hash con valores por defecto

如何使用 Ruby 找到免费的 TCP 服务器端口?

HTTP POST 数据在客户端关闭之前不可读

三叔学FPGA系列之二:Cyclone V中的POR配置初始化,以及复位

C++中的指针和删除

javascript Porównaniestringówzdatami