构建在Raspbian之上的简单服务器拒绝连接修复?

时间:2015-12-26 23:59:47

标签: ruby raspberry-pi raspbian

最近我得到了一个Raspberry Pi,我决定构建的第一个项目是一个简单的服务器,可以向任何和所有客户端返回“Hello World”。这是代码:

require 'socket' # Provides TCPServer and TCPSocket classes
puts 'initializing, standby'
server = TCPServer.new('localhost', 2345)
loop do

socket = server.accept
puts 'hello, this is alien'
request = socket.gets
STDERR.puts request
response = "Hello World!\n"
socket.print "HTTP/1.1 200 OK\r\n" +
           "Content-Type: text/plain\r\n" +
           "Content-Length: #{response.bytesize}\r\n" +
           "Connection: close\r\n"
socket.print "\r\n"
socket.print response
socket.close

end

运行时,命令行输出initializing, standby。但是当我进入浏览器并输入http://localhost:2345/anything时,它会返回拒绝连接。将localhost更改为其IP地址或主机名也不起作用。我已经成功连接到了raspberry pi。问题是什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

您的代码:

server = TCPServer.new('localhost', 2345)

表示服务器仅侦听来自localhost的连接。您可以通过以下方式访问它:

curl localhost:2345

但是如果你想从pi外部访问服务器,服务器必须从以下任何地方监听连接:

server = TCPServer.new('0.0.0.0', 2345)