php - 如何使用 php 和 socket.io 连接前端?
问题描述
我想使用带有 socket.io 的 PHP 文件连接前端如何将此 js 文件代码转换为 PHP?
我想在 Laravel 中实现这个功能,但现在我已经在 PHP 中测试过了
我已经在 NODE JS 的帮助下进行了连接,并且工作正常。
HTML 文件:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script>
(function () {
const onMessage = (data) => {
console.log(data);
};
var connectToServer = function () {
var socket = io.connect('http://localhost:8000');
socket.on('message-name', onMessage);
};
connectToServer();
})();
</script>
</head>
<body>
</body>
</html>
js文件:
var amqp = require('amqp'),
express = require('express'),
http = require('http'),
app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server),
rabbitMq = amqp.createConnection({url: "amqp://***:***@x.x.x.x:1234//"});
// add this for better debugging
rabbitMq.on('error', function(e) {
console.log("Error from amqp: ", e.message);
});
// Wait for connection to become established.
rabbitMq.on('ready', function () {
rabbitMq.queue('1', {passive : true} , function(queue) {
queue.bind('#');
queue.subscribe(function (message) {
// Print messages to stdout
var buff = JSON.stringify(message);
var bufferData = JSON.parse(buff);
var messageData = bufferData['data']['data'];
io.sockets.on('connection', function (socket) {
socket.emit('message-name', messageData);
});
});
});
});
server.listen(8000);
解决方案
推荐阅读
- amazon-web-services - ECS_CONTAINER_METADATA_URI_v4 不可用
- python - 加载的武器不会在循环内随机重新加载
- python - PyQT:无法正确填充 QTTreeView 列
- c# - EditForm 验证未将无效类应用于自定义组件
- c# - Linq2Db“BeginTransactionAsync”中的 System.NullReferenceException
- python - 如何对 pandas GroupBy 对象中的组进行排序?
- angular - RXJS - 仅在调度终止后调用 select
- python - 循环后无法取消无限 Tkinter(嵌套)
- python - 如何使用 openFDA API 进行分页
- python - AttributeError:模块“torch.nn”没有属性“ReflectionPad3d”