两套系统同个服务器,同一服务器运行两套workerman程序有什么需要特别修改的吗...

由于项目需要,我在同一服务器不同域名下配置了两套workerman程序(都是这样:

820809b120543117461c3b5fdbd7600d.png),但是其中一套总宕机,后来就修改了端口号:

1、socket 前端访问端口号ws://dim.qhd5u.cn:12002

2、注册端口号:$worker->registerAddress = '127.0.0.1:12003'; applications/im/start_businessworder.php 31 原来1236

3、内部通讯起始端口,$gateway->startPort=12004; applications/im/start_gateway.php 32 原来2300

4、注册端口号,$worker->registerAddress = '127.0.0.1:12003'; applications/im/start_gateway.php 38 原来1236

5、生成注册实例,$register = new Register('text://0.0.0.0:12003); applications/im/start_register.php 20 原来1236

6、生成webserver实例$web = new WebServer(http: //0.0.0.0:12015);applications/im/start_web.php 25 原来55151

7、注册中心地址:public static $registerAddress = '127.0.0.1:12003; getewayworker/lib/gateway.php 原来1236

8、注册中心地址: public $registerAddress = "127.0.0.1:12003"; gatewayworker/businessworker.php 原来1236

9、注册服务地址:public $registerAddress = "127.0.0.1:12003"; gatewayworker/gateway.php 原来1236

但是依然不行,请问还需要修改其他的地方吗?

像这样的进程名需要修改吗?

1c1c2916c8d255270aef87d4804bf2a7.png

dd4d9a9fec699b6042a022cfccc7aa28.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,MicroPython ESP32 可以支持在同一程序中使用多个 MQTT 客户端连接多个 MQTT 服务器。您可以使用 `wait_msg()` 方法在多个 MQTT 客户端之间轮流等待消息。 举个例子,假设你有两个 MQTT 客户端,分别连接到两个 MQTT 服务器,你可以这样写代码: ``` import uasyncio import machine def wait_for_message(client): while True: yield from client.wait_msg() print("Received message from MQTT server!") client1 = MQTTClient(...) # MQTT client 1 client2 = MQTTClient(...) # MQTT client 2 # Start a task to wait for messages from MQTT client 1 task1 = uasyncio.create_task(wait_for_message(client1)) # Start a task to wait for messages from MQTT client 2 task2 = uasyncio.create_task(wait_for_message(client2)) # Run the event loop loop = uasyncio.get_event_loop() loop.run_until_complete(asyncio.gather(task1, task2)) ``` 在上面的代码中,`wait_for_message()` 函数是一个生成器,它会在 MQTT 客户端上调用 `wait_msg()` 方法等待消息,并在收到消息后打印提示信息。 然后我们使用 `uasyncio` 模块创建两个任务,分别用于在两个 MQTT 客户端上调用 `wait_for_message()` 函数。最后,我们运行事件循环,同时运行这两个任务。这样,我们就可以同时在两个 MQTT 客户端上等待消息了。 ### 回答2: Micropython ESP32 可以支持连接两个 MQTT 服务器,并在使用 `.wait_msg()` 时接收消息。 Micropython 是一种针对微控制器和嵌入式系统的精简 Python 实现。ESP32 是一款强大的开发板,使用 Micropython 可以轻松连接到 MQTT 服务器实现物联网通信。 在 Micropython ESP32 中,可以通过 `umqtt.simple` 模块来实现 MQTT 通信。该模块提供了 `.wait_msg()` 方法来等待接收消息。当连接到两个不同的 MQTT 服务器时,只需创建两个 MQTT 客户端对象,分别连接到两个服务器。然后可以针对两个客户端对象分别调用 `.wait_msg()` 方法。 示例代码如下: ```python from umqtt.simple import MQTTClient import time def subscribe_callback(topic, msg): print("Received message:", msg) client1 = MQTTClient("client1", "mqtt_server1", port=1883) client2 = MQTTClient("client2", "mqtt_server2", port=1883) # Connect to MQTT servers client1.connect() client2.connect() # Subscribe to topics client1.set_callback(subscribe_callback) client1.subscribe("topic1") client2.set_callback(subscribe_callback) client2.subscribe("topic2") while True: # Wait for messages from server1 client1.wait_msg() # Wait for messages from server2 client2.wait_msg() # Process other tasks... time.sleep(1) ``` 通过上述代码,我们创建了两个 MQTT 客户端对象 `client1` 和 `client2`,分别连接到两个不同的 MQTT 服务器。然后,在一个无限循环中,通过调用 `.wait_msg()` 方法来等待接收来自两个服务器的消息。可以根据具体需求,在回调函数 `subscribe_callback()` 中对接收到的消息进行处理。 综上所述,Micropython ESP32 可以使用 `.wait_msg()` 方法支持连接两个 MQTT 服务器,并同时接收消息。 ### 回答3: Micropython esp32 可以支持两个MQTT服务器的.wait_msg()。 Micropython是一款适用于微控制器的Python实现,而esp32是一款广泛使用的开源微控制器。MQTT是一种轻量级的消息传输协议,常用于物联网设备之间的通信。 在Micropython esp32上,可以通过使用MQTT客户端库连接到一个或多个MQTT服务器。通过连接到多个服务器,您可以实现与不同设备或平台的通信。 在使用.wait_msg()方法之前,需要先连接到MQTT服务器,然后使用相关的订阅和发布方法进行数据交换。.wait_msg()方法用于等待接收来自服务器的消息。 同时,Micropython esp32支持使用多个线程或任务进行并行编程。因此,您可以在一个线程中等待接收来自一个服务器的消息,同时在另一个线程中等待接收来自另一个服务器的消息。 示例代码如下: ```python from umqtt.simple import MQTTClient import network def connect_to_mqtt_server1(): # 连接到第一个MQTT服务器 # 设置相关订阅和发布主题 # ... def connect_to_mqtt_server2(): # 连接到第二个MQTT服务器 # 设置相关订阅和发布主题 # ... def receive_msg_from_server1(): while True: client1.wait_msg() # 接收来自第一个MQTT服务器的消息 # 处理接收到的消息 # ... def receive_msg_from_server2(): while True: client2.wait_msg() # 接收来自第二个MQTT服务器的消息 # 处理接收到的消息 # ... # 连接到Wi-Fi网络 sta_if = network.WLAN(network.STA_IF) sta_if.active(True) sta_if.connect("your_wifi_ssid", "your_wifi_password") while not sta_if.isconnected(): pass # 创建两个MQTT客户端对象 client1 = MQTTClient("client1", "mqtt_server1_ip") client2 = MQTTClient("client2", "mqtt_server2_ip") # 连接到MQTT服务器 client1.set_callback(receive_msg_from_server1) client1.connect() client1.subscribe("topic1") client2.set_callback(receive_msg_from_server2) client2.connect() client2.subscribe("topic2") # 创建两个线程来接收消息 import _thread _thread.start_new_thread(connect_to_mqtt_server1, ()) _thread.start_new_thread(connect_to_mqtt_server2, ()) ``` 通过以上示例代码,您可以在Micropython esp32上实现连接到两个MQTT服务器,并通过.wait_msg()方法分别接收来自两个服务器的消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值