websocket-engineer は何をしますか?
WebSocketやSocket.IOを用いたリアルタイム通信システムの構築時に使用します。双方向メッセージング、Redisによる水平スケーリング、プレゼンス追跡、ルーム管理に最適です。
機能
- 双方向メッセージング: クライアントとサーバー間のリアルタイム通信を確立します。
- Redisによる水平スケーリング: Redis Pub/Subを使用して複数サーバーインスタンス間の同期を実現します。
- プレゼンス追跡: ユーザーのオンライン/オフライン状態を監視します。
- ルーム管理: 複数のクライアントをルームにグループ化し、ブロードキャストやターゲットメッセージを送信します。
対応プラットフォーム
- Claude Code
- Cursor
- Codex
- その他AIエージェントツール
使用方法
- プロジェクトにスキルを追加します。
- リアルタイム機能が必要な箇所でスキルを呼び出します。
- 必要に応じてRedis接続を設定します。
環境変数
REDIS_URL: RedisサーバーのURL(例:redis://localhost:6379)
サンプルコード
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('新しいクライアントが接続しました');
ws.on('message', function incoming(message) {
console.log('受信:', message);
// 全クライアントにブロードキャスト
wss.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
});
注意事項
- 本番環境では適切なエラーハンドリングを実装してください。
- Redisが利用できない場合、水平スケーリング機能は無効になります。