首页 > 解决方案 > 可以从主线程调用 统一处理服务器侦听器的事件时出错

问题描述

我使用 QuObject 源连接到套接字 io 服务器以发送和获取侦听器(发射)。像这样 :

socketConnection = IO.Socket("127.0.0.1:3000");
socketConnection.On(QSocket.EVENT_CONNECT, () =>
{
  onConnectedSocket();
}             

这是我创建委托和事件的代码:

public delegate void SocketConnectionListener(); 

public event SocketConnectionListener OnSocketConnectionListener;
protected virtual void onConnectedSocket() => OnSocketConnectionListener?.Invoke();

当我想使用此事件通过另一个脚本处理连接时,我会遇到这样的错误

ConnectedMsg.SetActive(true);

错误是这样的:

SetActive() can only be called from the main thread.

那么我该如何解决这个问题呢?

标签: c#unity3d

解决方案


推荐阅读