У меня есть сайт mydomain / home.php
Теперь я установил сервер NodeJs, скажем, в 23.23.234.22/home (/ home – маршрут получения ). Я написал код для сервера socket.io и, наконец, сервер работает.
Теперь я хочу написать код на стороне клиента в home.php, который будет похож на приведенный ниже код.
Я хочу отправить запрос в 23.23.234.22/home, и я должен увидеть ответ сокета в консоли браузера, когда home.php открыт. Я хочу, чтобы это работало каждый раз, когда я нажимал на него запрос, а не только когда сервер подключен.
Я знаю, с этим кодом все не сработает. Я не знаю, как это сделать. Итак, какие дополнительные изменения мне нужны?
socket.js
var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.json({type: '*/*'})); var server = require('http').createServer(app); app.get('/home', function(req, res){ //WRITE SOCKET SERVER CODE HERE? }); var io = require('socket.io')(server); app.use(express.static('/opt/lampp/htdocs/testproject/node_modules')); app.use(express.static('/opt/lampp/htdocs/testproject/')); io.on('connection', function(client) { console.log("connected"); client.emit("message", "Some thing to show"); }); server.listen(8080);
home.php
<html lang="en"> <head> </head> <body> <script src="/socket.io/socket.io.js"></script> <script> //CHANGE FOLLOWING ADDRESS? var socket = io.connect('http://23.23.234.22/home'); socket.on('connect', function(data) { console.log("Connected..."); }); socket.on("message", function(data){ console.log(data); }); </script> </body> </html>
изменение в home.php
var socket = io.connect('http://23.23.234.22/home');
в
var socket = io.connect('http://23.23.234.22:8080');