Node JS サーバーが UDP または TCP クライアントと通信できるようにします。
私の質問:
- 別の言語でソケット クライアントを作成したいが、サーバーが nodejs を使用している場合の手順または提案は何ですか?
- javaでUDPクライアントを作成したのですが、Node.jsサーバーに接続したいのですが、接続できませんでした。ノードjsでは、サーバーに接続するための何かルールがあると思いますが、どう思いますか?
Node JS サーバーが UDP または TCP クライアントと通信できるようにします。
私の質問:
UDP や TCP などの nodejs でソケットを実装したいのですが、別のプログラミングを使用してソケット クライアントを作成したいのです。
UDP または TCP のいずれかを選択する必要があります。各プロトコルには、長所と短所があります。そのサイトの2つの画像が本当に好きです。
特にUDPの実装経験があまりない場合は、TCPを使用することをお勧めします。さらに、HTTP (TCP の上) を使用することをお勧めします。これは、どのプログラミング言語でも広く利用できるためです。非常に簡単な解決策は、REST API を定義することだと思います。ノード側でexpress.jsを使用し、クライアント側としてスーパーエージェントを使用してサーバー側を簡単に作成できます(他のサーバー実装と対話します)。Javaでは、たとえば、atmosphere-spade-serverとasync-http-clientを使用できます
別の言語でソケット クライアントを作成したいが、サーバーが nodejs を使用している場合の手順または提案は何ですか?
データ交換にはJSONを使用することをお勧めします。どの言語でも確実な実装を簡単に見つけることができ、ユーザーのブラウザーもそれをサポートしています。
TCPおよびUDPソケットは言語に依存しません。NodeJSにUDPサーバーがあり、JavaにUDPクライアントがある場合、これはそのままで機能するはずです。
したがって、NodeJSまたはJavaプログラムで何か問題が発生している必要があります。これが簡単なHelloworldプログラムです:
Server.js:
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
server.on("message", function (msg, rinfo) {
console.log("server got: " + msg + " from " +
rinfo.address + ":" + rinfo.port);
});
server.on("listening", function () {
var address = server.address();
console.log("server listening " +
address.address + ":" + address.port);
});
server.bind(41234);
// server listening 0.0.0.0:41234
およびUDPClient.java:
import java.io.*;
import java.net.*;
class UDPClient
{
public static void main(String args[]) throws Exception
{
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName("localhost");
byte[] sendData = new byte[1024];
String sentence = "Hello World!";
sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 41234);
clientSocket.send(sendPacket);
clientSocket.close();
}
}
TCPまたはUDPを介して2つの異なるプログラムを接続しても問題はありません。実際、基本的な目的の1つは、そのようなシナリオに対処することです。
ここに仕様を使用してノードjsサーバーを作成してみてください。動作するはずです。それでも解決しない場合は、Javaコードも投稿してください。掘り下げることができます。