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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Q&A

0回答

203閲覧

socket.ioを実行しても、何も起こりません。

tyl

総合スコア0

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

0グッド

0クリップ

投稿2021/11/05 01:35

socket.ioを実行したいのですが、できません。

「node app.js」とすると何も表示されず、webページには以下のように「Error」と表示されます。

解決策があれば、教えていただけないでしょうか。

app.js

var app = require('http').createServer(handler); io = require('socket.io')(app); fs = require('fs'); app.listen(8082); io.use('log level', 1); function handler(req, res) { fs.readFile(__dirname + '/index.html', function(err,data) { if(err) { res.writeHead(500); return res.end('Error'); } res.writeHead(200); res.write(data); res.end(); }) } io.sockets.on('connection', function(socket){ socket.on('emit_from_client', function(data){ // console.log(data); // socket.emit('emit_from_server', 'hello from server: ' + data); // socket.broadcast.emit('emit_from_server', 'hello from server: ' + data); //io.sockets.emit('emit_from_server', '[' + socket.id + '] : ' + data); socket.client_name = data.name; io.sockets.emit('emit_from_server', '[' + socket.client_name + '] : ' + data.msg); }); });

index.html

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>socket.io</title> </head> <body> <form id="myForm"> <input type="text" id="msg"> <input type="submit" value="Send!"> </form> <ul id="logs"></ul> <script src="/socket.io/socket.io.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(function(){ var socket = io.connect(); $('#myForm').submit(function(e){ e.preventDefault(); socket.emit('emit_from_client', $('#msg').val()); $('#msg').val('').focus(); }); socket.on('emit_from_server', function(data){ $('#logs').append($('<li>').text(data)); }); }); </script> </body> </html>

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

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

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

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

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

ukyoda

2021/11/05 03:25

コードを見る感じだと、多分index.htmlの読み込みに失敗していそうです。 「Error」が描画されそうなところはここだけみたいなので。 app.jsとindex.htmlは同じディレクトリに置いていますか? また、console.logをつかって「err」の値を確認してみるとどんなことが起こっているかがわかるかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問