所以我有一个使用socket-io、node.js服务器和redis队列的脚本,用于在laravel 中进行实时聊天
我有一个一切都在工作,redis队列正在接受输入,当我使用"redis-cli-monitor"时,我可以看到它,但是消息没有输出到套接字视图中
插座.刀片.php
@extends('layouts.admin')
@section('content')
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>
<div class="container">
<div class="row">
<div class="col-lg10 col-lg-offset-2" >
<div id="messages" ></div>
</div>
</div>
</div>
<script>
var socket = io.connect('http://localhost:8890');
socket.on('message', function (data) {
$( "#messages" ).append( "<p>"+data+"</p>" );
});
</script>
@endsection
socketController.php
<?php
namespace SocialNet'Http'Controllers;
use SocialNet'Http'Requests;
use SocialNet'Http'Controllers'Controller;
use Request;
use LRedis;
class SocketController extends Controller {
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('socket');
}
public function writemessage()
{
return view('writemessage');
}
public function sendMessage(){
$redis = LRedis::connection();
$redis->publish('message', Request::input('message'));
return redirect('writemessage');
}
}
我在这里错过了什么?
感谢的任何帮助
我检查了浏览器控制台,发现这是一个拒绝连接的错误。然后,我检查了与socket.io的客户端连接,并将连接更改为节点服务器运行的虚拟机的IPhttp://localhost而且效果很好!