質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

0回答

854閲覧

node実行後 localhost:3000にアクセスすることができません

退会済みユーザー

退会済みユーザー

総合スコア0

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

1クリップ

投稿2021/02/05 20:42

編集2021/02/05 20:54

下記の記事を参考に、githubからダウンロードしたプロジェクトを実行して、実際にどう動くのか?が見たかったのですが、README通りの手順で実行しても、index.htmlで書かれているhttp://localhost:3000/にアクセスできません
https://qiita.com/yutaza/items/5ba68899748c052cffc5

試したこと
・port番号を2700に変更
・rm -rf node_modules package-lock.json && npm install

上記の両方ともうまくいきませんでした

実行の手順としては
githubからファイルをダウンロード(今回はデスクトップに配置)して

cd Desktop/chat-server-sample-master npm install node app.js

index

1<!DOCTYPE html> 2<html> 3<head> 4<meta http-equiv="X-UA-Compatible" content="chrome"> 5<title>チャットサンプル</title> 6<meta charset="utf-8"> 7<meta name="description" content=""> 8<meta name="author" content=""> 9<meta name="viewport" content="width=device-width, initial-scale=1"> 10</head> 11<body> 12 13 <input type="text" id="message_input" style="width:200px;" /> 14 <button onclick="sendMessage();">送信</button> 15 <div id="message"></div> 16 17<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> 18<script> 19 20function sendMessage() { 21 var textInput = document.getElementById('message_input'); 22 socket.emit('insert:message', {message: textInput.value}); 23 textInput.value = ''; 24} 25 26function print(text) { 27 document.getElementById('message').innerHTML += text + '<br>'; 28} 29 30var socket = io.connect('ws://localhost:3000'); 31 32socket.on('connect', function () { 33 var id = socket.io.engine.id; 34 var rooms = ['room1', 'room2']; 35 var rand = Math.floor( Math.random() * 100 ) % 2; 36 document.getElementById('message').innerHTML = ''; 37 socket.emit('add:member', {room: rooms[rand], message: 'join room: ' + rooms[rand]}); 38}); 39 40socket.on('insert:message', function (message) { 41 print(JSON.stringify(message)); 42}); 43 44</script> 45 46</body> 47</html> 48

AppJS

1 2var io = require('socket.io')(3000); 3 4/** 5 * connection 6 */ 7io.sockets.on('connection', function (socket) { 8 9 /** 10 * disconnect 11 */ 12 socket.on('disconnect', function () { 13 socket.leave(socket.data.room); 14 }); 15 16 /** 17 * メンバーを追加  18 */ 19 socket.on('add:member', function(data) { 20 socket.data = data; 21 socket.join(data.room); 22 io.sockets.to(socket.data.room).emit('insert:message', socket.data.message); 23 }); 24 25 /** 26 * メッセージを挿入 27 */ 28 socket.on('insert:message', function (data) { 29 io.sockets.to(socket.data.room).emit('insert:message', data.message); 30 }); 31 32}); 33 34

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問