はじめに
TypeScriptでsocketを送信するためのコードサンプル。
WebSocketネタは多いけど、こっちのネタがなかったためかき残しメモ。
バッチ処理として動作確認コードとなっているが、バックエンド処理とかに組み込んだら、普通に使えるハズ。
実行環境
こちらを参照(追加でパッケージは入れていない)
※受信側については、pythonのコンテナ環境で確認(以下を参照)
コード
client.ts
import * as net from "net";
// ネットワーク設定(事前にコンテナ同士のネットワークグループ設定は必要)
const HOST: string = "python-socket_app_1";
const PORT: number = 50000;
// 送信内容
const SEND_DATA = "send message";
// インスタンス生成
const client = new net.Socket();
// 接続処理
client.connect(PORT, HOST, () => {
console.log("connected: " + HOST + ":" + PORT);
// メッセージ送信
client.write(SEND_DATA);
});
// 相手から通信が帰ってきたとき
client.on("data", (data: Buffer) => {
console.log("Recieve Data: " + data);
// 接続破棄
client.destroy();
});
// 破棄したときの処理
client.on("close", () => {
console.log("Connection closed");
});
// エラー処理
client.on("error", (err: Error) => {
console.log("Error:", err);
});
実行
./node_modules/.bin/ts-node client.ts
おわりに
onってちょっとjQueryな時代を思い出してしまう、、
呼び出すときは、Promiseを使った方がなお良し。