Ruby套接字连接在0.0.0.0:8080上被拒绝

时间:2016-12-24 14:41:22

标签: ruby linux sockets

我正在学习ruby套接字编程,而我正在使用linux OS(确切地说是Ubuntu 16.04)。

以下代码:

require 'socket'

socket = TCPSocket.new('0.0.0.0', 8080)
client = socket.accept

puts "New client! #{client}"

client.write("Hello from server")
client.close

给我以下错误:

sock2.rb:3:in initialize': Connection refused - connect(2) for "0.0.0.0" port 8080 (Errno::ECONNREFUSED) from sock2.rb:3:in new'     来自sock2.rb:3:在''

我应该使用不同的IP和端口吗?或者我必须在我的unix系统上进行某种配置,以便客户端和服务器相互通信。

1 个答案:

答案 0 :(得分:6)

TCPSocket.new尝试连接到参数中指定的主机。看起来您正在尝试设置侦听该端口的服务器,因为您应该使用TCPServer 代替:

socket = TCPServer.new('0.0.0.0', 8080)

然后,您可以使用其他客户端连接到此服务器。该客户端可能使用TCPSocket