2

私は Web ベースのチャット システムを構築しようとしています。ユーザーは ruby​​ gserver になります。私はこの例を見てきました。ただし、私の質問は、Web からユーザー入力を取得し、コントローラーでユーザー入力を取得したときです。クライアントがサーバーに接続して、このユーザー入力値をサーバーに渡す方法は次のとおりです。

値を取得した後のサーバーは、データベースにデータを入力します。したがって、クライアントはデータベースからのすべての読み取り操作を実行します。ただし、クライアントがサーバーにどのように接続するのか疑問に思っていました。それは簡単な質問ですが、私はそれを理解できませんでした。

4

1 に答える 1

1

あなたの質問は地獄のように漠然としているので、今、私はいくつかの大規模な仮定をしています.

前提 1: チャット サーバーをほとんど変更せずに実行している
前提 2: Web サービスとチャット サーバーを同じホストで実行している

その場合、ソケット ライブラリを使用してチャット サーバーに接続し、その方法でデータを送信できます。

require 'socket'
include Socket::Constants
socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
sockaddr = Socket.pack_sockaddr_in( 1234, 'localhost' )
socket.connect( sockaddr )
socket.write( "foo\nquit\n" )
puts socket.read
socket.close

これにより、チャットサーバーに「foo」が送信され、接続が閉じられます

于 2009-12-03T19:34:55.590 に答える