server.jssocket.ioデータ
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
app.use(express.static(__dirname + '/public'));
io.on('connection', function(client) {
console.log('Client connected...');
client.on('join', function(data) {
console.log(data);
io.emit('messages', 'Hello');
});
});
index.htmlを
<script>
var socket = io.connect('http://localhost:7777');
socket.on('connect', function(data) {
socket.emit('join', 'Hello World from client');
});
socket.on('messages', function(data) {
alert(data);
});
</script>
私はSocket.ioの非常に基本的な実装しようとしました。
ただし、クライアントからサーバーに送信するデータは使用できますが、サーバーからクライアントに送信されるデータは機能しません。
server.jsを実行しているコマンドで、「Hello World from client」が表示されます。しかし、アラートウィンドウはWebブラウザでは機能しません(console.logも試しました)。
これを解決するにはどうすればよいですか?
Edittedは
私はapp.getにserver.jsコードを入れてきました( '/'、機能(REQ、RES)){...} はその後、それは動作しません。なぜそれがapp.getで動作しないのですか?
socket.ioコードは特定のルートに属していません。あなたの質問の 'app.get()'で何をしようとしているのかを説明でき、 'app.get()'の中にどのコードを置くかを示すことができれば、おそらく提案を提供することができます。しかし、今、あなたの質問の一部は、実際にはあいまいで不明です。 – jfriend00
ありがとうございます。私は、node.jsを使用してelasticsearchからデータを取得し、前面に送信しようとしています。私はそれに対処するいくつかのソリューションがejsまたはpugを使用していることを発見しました。私はpugとvue.jsでテンプレートを使用しようとしましたが、私がしたいこと(Googleマップapiと組み合わせる)はうまくいきません。だから私はsocket.ioを選んだのです。また、app.get( '/ test'、...)のような特定のURLを入力すると、サーバーからデータを送信するほうが良いと考えました。 – coffeedjason