Я использую 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
Спасибо