当前位置: 首页 > 知识库问答 >
问题:

与Laravel Echo和Socket进行本地反应。io无响应

马渊
2023-03-14

我正在构建一个基本的应用程序,我想从Laravel Echo实时获取事件数据。我正在使用stack.io.一切正常工作与laravel redis和一切运行和工作没有问题。但是,我没有从反应本机获得事件的控制台日志,也没有警告或错误。这是我的密码

反应原生App.js

import React from 'react';
import {
  StyleSheet,
  Text,
} from 'react-native';

import Echo from 'laravel-echo';
import socketio from 'socket.io-client';

const echo = new Echo({
  host: 'projectb.io:6001', //tried 127.0.0.1, localhost, ws:// etc...
  broadcaster: 'socket.io',
  client: socketio,
});

echo
    .channel('home')
    .listen('NewMessage', ev => console.log(ev));

const App: () => React$Node = () => {
  return (
    <>
      <Text>The usual stuff</Text>
    </>
  );
};

const styles = StyleSheet.create({

});

export default App;

Laravle根,laravel echo服务器。json:

{
    "authHost": "http://localhost",
    "authEndpoint": "/broadcasting/auth",
    "clients": [],
    "database": "redis",
    "databaseConfig": {
        "redis": {},
        "sqlite": {
            "databasePath": "/database/laravel-echo-server.sqlite"
        }
    },
    "devMode": true,
    "host": null,
    "port": "6001",
    "protocol": "http",
    "socketio": {},
    "secureOptions": 67108864,
    "sslCertPath": "",
    "sslKeyPath": "",
    "sslCertChainPath": "",
    "sslPassphrase": "",
    "subscribers": {
        "http": true,
        "redis": true
    },
    "apiOriginAllow": {
        "allowCors": false,
        "allowOrigin": "",
        "allowMethods": "",
        "allowHeaders": ""
    }
}

新闻消息事件:

class NewMessage implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $message;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct($message)
    {
        $this->message = $message;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn()
    {
        return new Channel('home');
    }
}

.环境:

BROADCAST_DRIVER=redis
QUEUE_CONNECTION=redis

我正在使用laravel tinker简单地执行一个事件(new App\event\NewMessage(“Hello Stack Overflow”)。它确实立即显示在我的队列和laravel echo服务器上,但在我的react native上,我没有得到任何控制台日志。

我正在使用'RedisManager'=


共有1个答案

督德明
2023-03-14

断然的。当我将主机IP作为服务器IP地址时,它工作正常。希望这对别人有帮助

 类似资料:
  • 问题内容: 我使用的是大猩猩网络套接字,我想在本地运行它,是指使用以下chrome客户端或其他推荐的工具……当我进入调试模式时,出现错误 我用 当我在Chrome或网络套接字客户端中运行以下网址时,出现错误 websocket:不是websocket握手:在“连接”标头中找不到“升级”令牌 我想运行它 并为本地模拟提供令牌,我该怎么做? 要检查它,我使用Chrome的Simple WebSocke

  • 我将安装Android studio并在其上运行react native,但它是否仍能为我提供iOS apk!?我听说我们不需要为iOS重写react本机代码。

  • 建立成功 总时间:2分钟6.65秒运行C:\Users\arnold\AppData\Local\Android\sdk/平台工具/adb-s 192.168.95.101:5555反向tcp:8081 tcp:8081无法运行adb反向:spawnSync C:\Users\arnold\AppData\Local\Android\sdk/平台工具/adb eNONT在192.168.95.10

  • 我对用本机代码反应本机和桥接机制很不熟悉,尤其是当框架有委托时。假设我正在尝试桥接以下框架: 以下是我实现的桥接模块: RCTBRPtouchNetworkManager。h RCTBRPtouchNetworkManager。m 我可以很容易地调用虚拟方法,并在日志中查看结果。但是,从未调用委托方法didFinishSearch()。我从javascript中调用它,如下所示: 我有什么遗漏吗?

  • A Socket.io Chat Example Using TypeScript This repository contains server & client side code using TypeScript language Blog Post Read the blog post with details about this project: Real Time Apps with

  • 有一种方法可以将useState与接口类型一起使用吗? 这就是我想做的: 但是在类型上有错误。 我的界面: 根据这篇文章:用TypeScript在useState React Hook上设置类型。 我可以尝试这样做: 但它看起来不干净,我不认为这是将随机值置于第一状态的好方法。