Socket.io не подключается (2) - PullRequest
       6

Socket.io не подключается (2)

0 голосов
/ 06 декабря 2018

Я использую Laravel, и моя структура каталогов выглядит следующим образом:

/example.com
    /server.js
    /node_modules
    /css
    /js
    /main/views/writemessage.blade.php
    /main/views/socket.blade.php
    /main/app/Http/Controllers/SocketController.php

мой код в server.js:

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
io.set('origins', '*:*');
var redis = require('redis');
var cors = require('cors');
app.use(cors());

server.listen(8890);
io.on('connection', function (socket) {

  console.log("new client connected");
  var redisClient = redis.createClient();
  redisClient.subscribe('message');

  redisClient.on("message", function(channel, message) {
    console.log("mew message in queue "+ message + "channel");
    socket.emit(channel, message);
  });

  socket.on('disconnect', function() {
    console.log('Disconnected!!!');
    redisClient.quit();
  });

});

мой код в writemessage.blade.php:

@extends('_template.default')
@section('main-content')
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>

<div class="container">
    <div class="row">
        <div class="col-lg-8 col-lg-offset-2" >
          <div id="messages" ></div>
        </div>
    </div>
</div>
<script>
    var socket = io.connect('https://example.com:8890', {secure: true});
    socket.on('message', function (data) {
        console.log('YES!!!!!!!!!!');
        $( "#messages" ).append( "<p>"+data+"</p>" );
      });
</script>

@endsection

мой код в socket.blade.php:

@extends('_template.default')
@section('main-content')
    <div class="container">
        <div class="row">
            <div class="col-md-10 col-md-offset-1">
                <div class="panel panel-default">
                    <div class="panel-heading">Send message</div>
                    <form action="sendmessage" method="POST">
                        <input type="text" name="message" >
                        <input type="submit" value="send">
                        {{csrf_field()}}
                    </form>
                </div>
            </div>
        </div>
    </div>

@endsection

Когда я был в Windows, он возвращал CORS проблем, но теперь, когда я использую Linux, он не 'не возвращает эту ошибку, но она ничего не возвращает в консоли.Также работает redis ... но когда я запускаю node server.js, он даже не печатает сообщения Connected или Disconnected в консоли.Откуда моя проблема?Это из URL?Я говорю URL, потому что когда я проверяю сетевой монитор в Firefox, я вижу, что он говорит The connection used to fetch this resource was not secure.Я сделал что-то не так?Или я должен сделать что-то еще?Как проверить, откуда проблема?

Кстати, версия моего узла: 6.14.3 и версия моего npm: 3.10.10

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...