2013-06-10 5 views
2

Я разработал сервер на C++, и я хотел бы разработать интерфейс в Ruby On Rails.Ruby On Rails TCPSocket

Итак, я начал читать http://ruby.railstutorial.org/, тем временем я начал искать, смогу ли я создать соединение между моим приложением Ruby On Rails и моим сервером.
Я узнал, что могу использовать TCPSocket.

Мой вопрос: могу ли я открыть только 1 TCPSocket по сеансу (и сохранить его где-нибудь)?
Или мне нужно открыть TCPSocket для каждого действия в моих контроллерах?

Спасибо заранее,

+0

Что происходит с открытием TCP-соединения для каждого запроса для стартеров? Я думаю, что это упростит ситуацию, и вы все равно можете подумать о настройках производительности позже, если вы заметите, что это настоящая проблема. –

ответ

0

приложения/модель/conn.rb:

class Conn 
    @connection = "foo" # Connect here 

    def self.get_connection 
    @connection 
    end 
end 

Rails консоль:

irb(main):002:0> Conn.get_connection 
=> "foo" 

Но если ваш сервер не однопоточный вы будете иметь больше, чем одно соединение в любом случае.

+0

Соединение будет использоваться совместно с каждым сеансом, я хочу создать одно соединение за сеанс. – nlaille

+1

Сессия обычно не привязана к какому-либо конкретному экземпляру рельсов, поэтому невозможно определить, где вы находитесь, и сохранить там соединение. –