2012-08-03 9 views
5

私のウェブサイトでは、Fleckを使用し、約600行のコードを使用するWebSocketsサーバー(C#で最も優先する言語)を作成しました。すべてがうまく動作しているようです(少しでも不安定ですが、コードやフリックで問題があるかどうかは不明です)。WebSocketサーバーへの最新のソリューション?

ただし、これを自分のコンピュータから実際のドメインに移動したいと思います。そのような.NETコンソールアプリケーションをサポートするホスティングプロバイダがあるかどうかはわかりません。

PHPのような別の言語で書き直す必要があるかもしれないと思っていましたが、全体的な考え方については少し不安です。私が探しているものをサポートする人気のあるホスティングプロバイダはありますか?たとえそうであっても、それはいい考えですか?私はそれがサーバーのためのPerl、PHP、またはPythonを使用する典型的なソリューションより安全性が低く、または遅いかもしれないと想像します。 (たくさんのPさん)

最後に、書き直すことをお勧めしたら、どの言語を書いているのか分かりません。しばらく経っていて、誰もが何を使用しているのか分かりません。 PHPは依然としてWebサーバーにとって最もサポートされ、安全であると考えられていますか?

どのWebSocket実装が最適ですか? Fleckを見つけるにはしばらく時間がかかっていましたが、PHPの2倍の数のデリバティブがあるようですが、もう一度圧倒される気がします。また、WebSocketに関するStackoverflowの記事の多くは、2年前にサポートされていないときからのものです。

申し訳ありませんが私の疑問に焦点が当てられていませんが、あなたが見ることができるように私は少しここで私の行動コースがすべきであると混乱していると私はいくつかの洞察力を探しています。読んでくれてありがとう。

答えて

5

おそらく最も普及しているWebSocketサーバーはSocket.IOです。 Node(Javascript)で実装されており、WebSocketサポートが利用できない場合、long-polling/AJAXにフォールバックしています。

最もよくサポートされているWebSocketの実装は、Python pywebsocketプロジェクトです。このプロジェクトは、クライアントブラウザ実装の開発とテストにMozillaとGoogleの両方が使用します。さらに、pywebsocketはApacheと簡単に統合できるように設計されており、WebサーバーとWebSocketサービスを同じポートで実行できます。

アプリケーションがWebSocketベースのメッセージングサービスを必要とし、主にピアツーピアの場合は、Pusherのような市販のWebSocketサービスの使用を検討することができます。これにより、自分のサーバーをホストし管理する必要がなくなります。

WebSocketサーバー用にPHPをお勧めしません。最近まで、WebSocketの古いプロトコルと新しいプロトコルの両方をサポートしていたPHP実装はありませんでした。古いものは現在のiOSデバイスで引き続き使用されており、新しいIETF 6455バージョンのプロトコルはChrome、Firefox、IE10、FlashベースのWebSocket polyfill web-socket-jsで使用されています。

また、PHPが依然としてウェブサーバーで最もサポートされ、安全であると考えられるかどうかを尋ねます。確かに、PHPには素晴らしいドキュメンテーションとサンプルがあり、非常に幅広い展開をしていますので、うまくサポートされていると主張できます。しかし、PHPはセキュリティの点でリストの一番下に位置しています。私は確かにPHPであなたのアプリケーションを最初から書き直すことはしません。

C言語に似ている人は、libwebsocketsを使ってCまたはC++ WebSocketサーバーを構築できます。Andy Greenはlibwebsocketsを開発して管理し、標準を開発したIETFワーキンググループに参加しました。

Rubyは、WebSocketの摂取量が多い(おそらくNodeの2番目の)言語/コミュニティです。 Rubyで最も一般的なwebsocketライブラリはem-weboskcetです。

+1

これは良いリストです。あなたがPythonを使用したいと思っていて、パフォーマンスのためのサポート性を少し犠牲にしたい場合(あるいは、最小限のソリューションを好む場合)、gevent-websocket http: //www.gelens.org/code/gevent-websocket/ – Dreen

-1

あなたはnode.jsを試すことができます、 "新しい"とそれは良いようです。 よろしくお願いいたします。

+1

ノード(node.js)には(まだ)組み込みのwebsocketサポートはありません。おそらく、Nodeで実装されている非常に人気のあるSocket.IOを意味していました。 – kanaka

関連する問題