javascript はシステム ポートにアクセスできますか? はいの場合、javascript からデータを送信できるサーバー (C の TCP/UDP) を作成することは可能ですか?
2 に答える
「システムポート」とはどういう意味ですか?シリアルポート?AGPポート?別のプログラミング言語でアプリケーションを書き直しますか?一般的な使用法では、「システムポート」などの用語はありません。あなたはソケットを参照しているようです。
その場合....
ある種。javascriptを使用して任意のTCPポートに接続できますが、HTTPを使用してそのポートを介してのみ通信できます。WebSocketを介して通信をトンネリングすることは可能ですが、これには、従来のサーバーに接続するためにサーバー側にプロキシが必要です。TCPはストリームプロトコルですが、WebSocketはメッセージ指向です。
独自のサーバーを最初から実装している場合は、WebSocketについてすでに理解しているもの(node.jsなど)の上に構築する方がはるかに簡単です。
UDPを使用することはできません(TCP接続の確立の副産物としてのDNSルックアップ以外)。
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サーバーを作成することです。