/// <summary>
        /// 发送房间同步消息
        /// </summary>
        /// <param name="msgEntries"></param>
        public bool SendMessage(SyncMsg msg)
        {
            if (syncClient == null)
            {
                return(false);
            }

            if (!syncClient.Running)
            {
                return(false);
            }

            SyncProto syncProto = new SyncProto();

            syncProto.SyncMsg = msg;

            if (messageType == CollaborationMessageType.JSON)
            {
                string msgData = JsonUtil.Serialize(syncProto, false, false);
                syncClient.SendMessage(msgData);
            }
            else if (messageType == CollaborationMessageType.ProtoBuf)
            {
                syncClient.SendMessage(syncProto.ToByteArray());
            }
            //Debug.Log("Send Sync: " + syncProto);

            return(true);
        }
示例#2
0
 public void SendSyncMessage(CommunicationObject communicationObject)
 {
     using (_syncClient = new SyncClient())
     {
         _syncClient.Connect();
         _syncClient.SendMessage(communicationObject);
     }
 }
示例#3
0
        async void LateUpdate()
        {
            // 如果需要同步,则发送摄影机和所有Anchor位置
            if (synchronizing)
            {
                if (!useUDP)
                {
                    if (syncClient != null)
                    {
                        if (syncClient.Running)
                        {
                            LiveMessageSynchronizeAll msg = CreateSyncMessage();
                            byte[] msgData = msg.Serialize();

                            // 记录Log
                            logManager.Log(currentLogName, msg.FormatLogString());

                            await syncClient.SendMessage(msgData);
                        }
                    }
                }
                else
                {
                    if (sender != null && sender.Running)
                    {
                        LiveMessageSynchronizeAll msg = CreateSyncMessage();
                        byte[] msgData = msg.Serialize();

                        // 记录Log
                        logManager.Log(currentLogName, msg.FormatLogString());

                        try
                        {
                            //Debug.Log("msgData length = " + msgData.Length);
                            await sender.Send(msgData);
                        }
                        catch (Exception e)
                        {
                            Debug.Log("---->" + e);
                        }
                    }
                }
            }
        }