Простая сокетная программа на Ruby - PullRequest
2 голосов
/ 30 сентября 2010

Я хочу написать простой серверный сокет в Ruby, который, когда клиент подключается к нему, печатает сообщение и закрывает клиентское соединение. Я придумал:

require 'socket'

server = TCPServer.open('localhost',8800) 

loop {            
    client = server.accept
    Thread.start do
      s = client
      s.puts "Closing the connection. Bye!"
      s.close
    end         
}

Однако, когда я получаю доступ к "localhost: 8800" в своем браузере, я не получаю это сообщение, вместо этого он говорит, что страница не найдена.

1 Ответ

4 голосов
/ 30 сентября 2010

Вполне вероятно, что ваш браузер ожидает что-то на удаленном конце, что говорит Http.

Это зависит от вашего браузера, а также от точного введенного вами URI. Также возможно, что ваш браузер подключается, закрывает соединение и затем отображает страницу ошибки.

Если вы хотите видеть работающий сервер, используйте telnet из командной строки. Таким образом, в одном окне введите ruby ./myfilename.rb, а затем в другом типе telnet localhost 8800

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...