ホームページ > 記事 > ウェブフロントエンド > ExpressベースのWebSocketを使ったnode.jsの詳細説明
この記事では、Express に基づいた WebSocket を使用した Node.js の方法を主に紹介し、WebSocket を呼び出す際の関連設定と操作スキルを例に基づいて分析します。皆さんのお役に立てれば幸いです。
私もこのエフェクトを長い間探していましたが、テストは成功しました。とにかく成功しました。見てみましょう
まず、socket.io モジュールをインストールする必要があります
npm install socket.io --save
それから、モジュールをインポートするには、
var app = express();
の12行ほど下に
var server = require('http').Server(app); var io = require('socket.io')(server);
を2行追加し、さらに20行以上に
app.use(function(req, res, next){ res.io = io; next(); });
を追加します。 www から開始するのは好きではないので、アプリ内で、最後から 2 番目の行の上にさらに数行のコードが追加されました
var port = 3000; app.set('port', port); server.listen(port);
これにより、3000 ポートのリッスンが開始されます
, 準備作業が完了しましたので、サンプルを開始します
サンプルコードのテストは公式を使用してください
io.on('connection', function (socket) { socket.emit('news', { hello: 'world1' }); socket.on('my other event', function (data) { console.log(data); }); });
まずはサーバー側の準備作業が完了しました。クライアント ページにsocket.js ファイルを導入します
<script src='javascripts/socket.io-1.4.5.js'></script> var socket = io.connect("//localhost:3000"); socket.on('news', function (data) { console.log(data); alert(data); socket.emit('my other event', { my: 'data' }); });
次に、ページを開いてテストします
場合、サーバーからの情報を 1 つのページにのみ送信したい場合は、次のように記述できます
router.get('/', function(req, res, next) { //只有当前页面可以获得 res.io.on('connection', function(socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function(data) { console.log(data); }); }); //所有页面都可以获得 var io = require("../app").io; io.emit("news",{hello:"myworld"}); res.render("pclogin.ejs", {}); });
関連する推奨事項:
外部ネットワークに接続できないWebSocket展開サーバーの解決策について
nodejs +websocketでチャットシステム機能が完成
以上がExpressベースのWebSocketを使ったnode.jsの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。