2016-12-24 8 views
1

Rubyソケットプログラミングを学習していますが、Linux OS(正確には、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

':3 sock2.rbから `で'

別のIPとポートを使用する必要がありますか?あるいは、クライアントとサーバーが互いに話すための私のUNIXシステム上で何らかの設定をしなければならないかどうか。

答えて

3

TCPSocket.new引数で指定されたホストに接続しようとします。

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

をあなたはその後、別のクライアントにこのサーバに接続することができます:あなたの代わりにTCPServerを使用する必要があることのためにあなたは、そのポートで待機サーバーをセットアップしようとしているように見えます。そのクライアントはTCPSocketを使用する可能性があります。

+0

多くの方にお試しいただきありがとうございます。ありがとう! –

関連する問題