2016-12-24 65 views
1

我在學習ruby套接字編程,並且在Linux操作系統(Ubuntu 16.04中是準確的)。Ruby套接字連接被拒絕0.0.0.0:8080

下面的代碼:

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:initialize': Connection refused - connect(2) for "0.0.0.0" port 8080 (Errno::ECONNREFUSED) from sock2.rb:3:in新的 ' 從sock2.rb:3:`'

我應該使用不同的IP和端口嗎?還是必須在我的UNIX系統上進行某種配置,以使客戶端和服務器能夠相互通話。

回答

3

TCPSocket.new嘗試連接到參數中指定的主機。它看起來像你正試圖建立一個服務器偵聽該端口,爲您應該使用TCPServer代替:

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

然後,您可以連接到該服務器與其他客戶端。該客戶可能使用TCPSocket

+0

非常感謝,只是試了一下,它的工作。謝謝! –

相關問題