2016-07-18 7 views
2

私は、複数のクライアントからメッセージを送信する必要があり、そのクライアントはCクライアントまたはJavaクライアントからJavaで書かれたサーバーになります。Cと同じJavaサーバーに接続できるJavaクライアントを持つことはできますか?

なぜソケットを介して送信する必要がありますか?私のアプリがアラームをキャプチャしてそれに応じて反応することを望んでいる同じシステム上のどのアプリケーションにもプロセスが存在する可能性があるためです。

ここでは、単一のJavaサーバーに接続できる複数のJavaクライアントを実装できますが、JavaクライアントのCクライアントに関係なく、同じことを行う方法は同じです。

プログラミングソケットではありません場合は、何がこの通信はすべて低レベルのネットワークプログラミングは、ソケットを使用して書かれて

+2

Java Webアプリケーションを作成し、インターネット接続で_any_クライアントが使用できるREST、SOAP、その他のサービスを公開することができます。 –

答えて

3

を実現するために、他の最善の方法かもしれません。任意の言語で書かれたサーバーを、どの言語で書かれたクライアントとでも通信できるようにすることができます。これを実現するには、udp、tcpなどの通信を管理する特定のプロトコルが必要です。 高水準言語は、ソケットを作成することなく、1行のコードで任意のサーバーを接続するapiを提供します。しかし、Cではソケットを作成してサーバーに接続することができます。 see this。接続するサーバーとクライアントがサーバーとポートであることを知る必要があるのは、すべてです。

+0

シングルクライアントとシングルサーバは大丈夫ですが、私が望むのは、同時に1つのサーバに接続できる複数のクライアント(C、javaなど)です。 – Charu

+1

はい。あなたはそれを行うことができます。選択する言語は重要ではありません。 –

+1

@Charu通信プロトコルの全ポイントは、同じプロトコルを使用している限り、どちらのエンドも同じでなければならないということです。ソースコードがどの言語であっても、すべての機械語です。 – 4castle

0

要件は非常に広いものの、プロトコルバッファーの主要な候補のように見えます。

https://developers.google.com/protocol-buffers/

言語に依存しません。
プラットフォームに中立です。
高速です。

ZeroMQ(http://zeromq.org/)上で実行すると、プッシュしてすべての上で実行することができます。

関連する問題