2023年 7月 の投稿一覧

【JavaScript】delete演算子

配列の要素とオブジェクトのプロパティはdelete演算子を使って削除可能である。
しかし、次のようにdelete演算子の挙動が複雑である。

私は、挙動が複雑なdelete演算子は使わないことにする。代わりにMap Objectを使うことにする。

続きを読む

【Node.js】socket.to(socket.id).emit()とio.to(socket.id).emit()

Node.jsのSocket.IOにおいて、
socket.to(socket.id).emit()とio.to(socket.id).emit()は両方とも、特定のユーザー(socket.id)のみにメッセージを送る。ただし、特定のユーザー(socket.id)がどこかの部屋に入っているか、どの部屋にも入っていないかは関係ない。つまり、部屋は関係ないと覚えておいたらいい。

続きを読む

【Node.js】クロスオリジン要求をブロックしました【解決策】

Node.jsにおいて、次のようなエラーメッセージがブラウザのコンソールに出て来ることがある。
このエラーはCORS(Cross-Origin Resouce Sharing)の設定をすると出なくなる。

このエラーはクライアントがhttp://192.168.2.100:80(htmlファイル)から、サーバー側のhttp://192.168.2.100:3000(Node.jsのjsファイル)にアクセスしようとすると、CORSの設定がないためにエラーになる。


クロスオリジン要求をブロックしました: 同一生成元ポリシーにより、http://192.168.2.100:3000/socket.io/?EIO=4&transport=polling&t=Oa-dgsr にあるリモートリソースの読み込みは拒否されます (理由: CORS ヘッダー ‘Access-Control-Allow-Origin’ が足りない)。ステータスコード: 200
続きを読む

【Node.js】npm start

通常、npm startコマンドは、package.jsonの”scripts”セクションに定義された”start”スクリプトを実行するために使用される。”start”スクリプトは、通常、プロジェクトのエントリーポイントを実行するために設定される。

続きを読む

【Node.js】io.sockets.on(‘connection’, function(socket) {})とio.on(‘connection’, function(socket) {})

2023年7月10日の時点で最新の内容。
Node.jsのSocket.IOにおいて、io.sockets.on(‘connection’, function(socket) {})とio.on(‘connection’, function(socket) {})は同じ意味である。

io.sockets.on(‘connection’, function(socket) {})は以前のバージョンのSocket.IOで使用されていた古い記法である。一方、io.on(‘connection’, function(socket) {})は現在のバージョンのSocket.IOで推奨されている記法である。

続きを読む

【Node.js】Socket.IO サンプルコード(1)~簡易チャットアプリ~

Socket.IO サンプルコード(1)~簡易チャットアプリ~
Socket.IOを使用する場合には、HTTPサーバーを立ててSocket.IOを統合する必要がある。
このときhttpでもhttpsのどっちでも動く。httpとhttpsの2種類のコードを次に示す。
(1)サーバー側で、httpサーバーとSocket.IOの初期化を行うコード
(2)サーバー側で、httpsサーバーとSocket.IOの初期化を行うコード

続きを読む