下記の記事を参考に、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
そのプロジェクトはだいぶ古いので、こちら (公式) を試した方がいいのでは。
https://socket.io/get-started/chat
https://github.com/socketio/chat-example
あなたの回答
tips
プレビュー