ローカルで動いていたスクリプトがサーバで動かなかったのでメモ。
2017/11/04 記事作成
2017/11/12 コメントを追加
Before
server.js
var http = require('http');
var server = http.createServer(response);
var io = require('socket.io')(server);
// --- 処理 ---
server.listen(3000);
client.js
const socket = io();
After
server.js
var http = require('http');
var server = http.createServer(response);
var io = require('socket.io')(server);
// サブディレクトリのパスを指定する。
io.path('/subdir');
// --- 処理 ---
server.listen(3000);
client.js
// pathを指定する。
const socket = io({path: '/subdir/socket.io/'});
原因
通常、Socket.ioはインスタンス生成後接続先をサーバのルートに探しに行くので、サブディレクトリで切っていると/socket.io/にアクセスできずに404を返す。
そこで、正しいパスをそれぞれに設定してあげるとうまく動く。
質問はお気軽に
コメント欄にどうぞ。
Twitterのほうが返信が早いです↓
Twitter - @kznr_luk