Node.jsの勉強で、copiedSocketID_roomID.sizeが3以上の場合に、次のようなオリジナルのアルゴリズムを考えた。
このcopiedSocketID_roomID.size =3,4,5・・・と場合分けする必要があるから、コードを一般化して、copiedSocketID_roomID.sizeが3以上の場合に動作するようにした。
Node.js
【Node.js】nvm(NodeVersionManager)のWindows版バージョン1.11.1のインストールと初期設定
2023年8月8日(火)にnvm(NodeVersionManager)のWindows版バージョン1.11.1のインストールと初期設定を行った。
nvm(Node Version Manager)はnode.jsとnpm(Node Package Manager)のバージョンの切り替えができる。
Node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」、「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
次のwebサイトからnvm-windowsをダウンロードしてきてインストールする。
Releases · coreybutler/nvm-windows (github.com) ExternalLink
【Node.js】wsについて
ws(ダブリュエス)について書いていく。
Node.jsは、WebSocket通信を実現するためにws(ダブリュエス)というライブラリ(パッケージ)を提供している。
Node.jsのwsライブラリを使用することで、簡単にリアルタイムな通信を実現することができる。
WebSocket通信は、Webブラウザとサーバー間でのリアルタイムな双方向通信を可能にするものである。
一方、Socket通信は、ネットワークソケットを使用してクライアントとサーバー間の双方向通信を実現するものである。
厳密にはWebSocket通信とSocket通信は異なるものである。しかし、初心者の段階ではWebSocket通信とSocket通信の違いを深く追求する必要はない。
一部の人々はWebSocket通信をSocket通信と呼んでいたりする。
WebSocket通信とHTTP通信は別物である。
wsを使用する場合には、HTTPサーバーを立ててwsを統合する必要がある。
続きを読む【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】fs.readFile
fs.readFile関数は,非同期的にhtml,css,jsファイルを読み込むことができる。
続きを読む【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 サンプルコード(2)~簡易チャットアプリ~(roomを使う)
Socket.IO サンプルコード(2)~簡易チャットアプリ~
このコードはroomを使う例である。
Socket.IOを使用する場合には、HTTPサーバーを立てて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の初期化を行うコード
最近のコメント