1

javascript はシステム ポートにアクセスできますか? はいの場合、javascript からデータを送信できるサーバー (C の TCP/UDP) を作成することは可能ですか?

4

2 に答える 2

2

「システムポート」とはどういう意味ですか?シリアルポート?AGPポート?別のプログラミング言語でアプリケーションを書き直しますか?一般的な使用法では、「システムポート」などの用語はありません。あなたはソケットを参照しているようです。

その場合....

ある種。javascriptを使用して任意のTCPポートに接続できますが、HTTPを使用してそのポートを介してのみ通信できます。WebSocketを介して通信をトンネリングすることは可能ですが、これには、従来のサーバーに接続するためにサーバー側にプロキシが必要です。TCPはストリームプロトコルですが、WebSocketはメッセージ指向です。

独自のサーバーを最初から実装している場合は、WebSocketについてすでに理解しているもの(node.jsなど)の上に構築する方がはるかに簡単です。

UDPを使用することはできません(TCP接続の確立の副産物としてのDNSルックアップ以外)。

于 2013-01-22T12:38:23.650 に答える
2

Node.jsを求めていないと仮定しましょう。

C で WebSocket サーバーを記述し、JavaScript をそれに接続できます。すでにたくさんの実装があるので、自分で書く必要はありません。

サーバーを起動して特定のホスト名とポートにバインドすると、次の方法で JavaScript から接続できます。

var ws = new WebSocket('ws://hostname:port');
ws.onopen = function () {
   console.log('Connected');
};
ws.onmessage = function () {
   console.log('New message...');
};
ws.send('Some message...');

たとえば、ここに 1 つのhttp://code.google.com/p/cwebsocket/があります。

私の知る限り、WebSocket は TCP 経由です。

もう1つのオプションは、ロングポーリングの有無にかかわらずAJAXを使用するHTTPサーバーを作成することです。

于 2013-01-22T12:11:02.947 に答える