Как подключить свой web-socket сервер на node.js к laravel?

Ссылка скопирована
1 ответ

Имеется веб-сокет сервер на node.js, на хосте localhost:8081. Не могу связать бэкенд laravel и фронтенд vuejs с этим сервером.
Код в config/broadcasting.php

'node-server' => [             'driver' => 'socket.io',             'host' => 'http://localhost',             'port' => 8081         ]

'node-server' => [ 'driver' => 'socket.io', 'host' => 'http://localhost', 'port' => 8081 ]

bootstrap.js

window.Echo = new Echo({     broadcaster: 'socket.io',     host: 'http://localhost:8081' });

window.Echo = new Echo({ broadcaster: 'socket.io', host: 'http://localhost:8081' });

Ошибки и на фронтенде и на бэкенде говорят о том что не установлен драйвер socket.io.
Нашел информацию только для подключения через драйвер pusher, в т.ч и в документации. Но хочу подключить свой ws сервер. Нужно создавать свой драйвер? Тогда как подключиться к нему на стороне фронтенда? Спасибо

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Максим Павлов Ответ

Для подключения своего web-socket сервера на Node.js к Laravel, вам потребуется использовать библиотеку socket.io. Вот пошаговая инструкция, как это сделать:

1. Установите socket.io в вашем проекте Node.js с помощью npm:

npm install socket.io

npm install socket.io

2. Создайте сервер socket.io в файле server.js:

const server = require('http').createServer();
const io = require('socket.io')(server);
 
io.on('connection', (socket) => {
  console.log('A user connected');
 
  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});
 
server.listen(3000);

const server = require('http').createServer(); const io = require('socket.io')(server); io.on('connection', (socket) => { console.log('A user connected'); socket.on('disconnect', () => { console.log('User disconnected'); }); }); server.listen(3000);

3. Запустите ваш web-socket сервер, выполнив команду:

node server.js

node server.js

4. Теперь вам нужно настроить Laravel для подключения к вашему web-socket серверу. Для этого вам понадобится установить библиотеку socket.io-client:

npm install socket.io-client

npm install socket.io-client

5. Далее вам нужно создать скрипт в Laravel, который будет подключаться к вашему web-socket серверу. Например, в вашем контроллере или роуте Laravel:

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
 
public function sendMessage(Request $request)
{
    $response = Http::post('http://localhost:3000', [
        'message' => $request->input('message')
    ]);
 
    return response()->json(['status' => 'success']);
}

use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; public function sendMessage(Request $request) { $response = Http::post('http://localhost:3000', [ 'message' => $request->input('message') ]); return response()->json(['status' => 'success']); }

6. Теперь вы можете отправлять сообщения из Laravel на ваш web-socket сервер, используя метод POST. Например, с помощью AJAX запроса из фронтенда.

Это всего лишь базовая инструкция по подключению web-socket сервера на Node.js к Laravel. Обратите внимание, что вам может потребоваться настроить сервер для работы с SSL, а также обеспечить безопасность вашего приложения. Надеюсь, данная информация будет полезной для вас. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно