private void SendClientData() { ClientData data = new ClientData(userID); string json = JsonUtility.ToJson(data); CircleVRNetwork.Send(CircleVRPacketType.ClientInfo, CircleVRNetwork.StringToByte(json), connectionId, CircleVRNetwork.reliableChannel); }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.VideoPlayer) { ContentName name = new ContentName(CircleVR.ContentName); string msg = JsonUtility.ToJson(name); CircleVRNetwork.Send(CircleVRPacketType.Name, CircleVRNetwork.StringToByte(msg), connectionId, CircleVRNetwork.reliableChannel); Debug.Log("[CircleVR Host Network] Send ContentName To Video Player : " + msg); return; } if (type == CircleVRPacketType.ClientInfo) { ClientData clientData = JsonUtility.FromJson <ClientData>(CircleVRNetwork.ByteToString(data)); CircleVRErrorType cvError; if (host.AddConnectedUserIDs(clientData.userId, out cvError)) { AddConnectedPair(new UserIDAndConnectionIDPair(clientData.userId, connectionId)); return; } CircleVRNetwork.SendError(connectionId, cvError); Disconnect(CircleVRNetwork.hostID, connectionId, error); Debug.Log("[CircleVR Host Network] Connect Failed : " + cvError.ToString() + "\nUser ID : " + clientData.userId); return; } }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (!connected) { if (type == CircleVRPacketType.Error) { CircleVRError cvError = JsonUtility.FromJson <CircleVRError>(CircleVRNetwork.ByteToString(data)); Debug.Log("[INFO] Error : " + cvError.type.ToString()); if (cvError.type == CircleVRErrorType.AlreadyHasUserID || cvError.type == CircleVRErrorType.NotFoundUserIDInPairs) { connecting = false; } return; } if (type == CircleVRPacketType.HostInfo) { Debug.Log("[INFO] Circle VR Connect Succeed!"); HostInfo hostInfo = JsonUtility.FromJson <HostInfo>(CircleVRNetwork.ByteToString(data)); CircleVRDisplay.InitBarrier(hostInfo.safetyBarrierRadius, hostInfo.showBarrier); connected = true; connecting = false; CircleVRNetwork.Send(CircleVRPacketType.RequestServerContentInfo, connectionId, CircleVRNetwork.reliableChannel); return; } } }
private void OnNext() { CircleVRNetwork.SendBroadcast(CircleVRPacketType.Next, CircleVRNetwork.reliableChannel); if (Event != null) { Event.OnNext(); } Debug.Log("[INFO] Content Server Send Next"); }
public void Init(Configuration config, CircleVRHost host, int maxClientCount) { CircleVRNetwork.Init(config.circlevr.serverPort, maxClientCount); this.config = config; this.host = host; InitPacket(); initFinished = true; }
private void OnStop() { state = CircleVRServerState.Ready; elapseTime = 0.0f; CircleVRNetwork.SendBroadcast(CircleVRPacketType.Stop, CircleVRNetwork.reliableChannel); if (Event != null) { Event.OnStop(); } Debug.Log("[INFO] Content Server Send Stop"); }
private void AddConnectedPair(UserIDAndConnectionIDPair pair) { Packet.TrackerData trackerData = GetTrackerDataInPacket(pair.userID); trackerData.connected = true; CircleVRNetwork.Send(CircleVRPacketType.HostInfo, CircleVRNetwork.StringToByte(JsonUtility.ToJson(new HostInfo(config.circlevr.showBarrier, config.circlevr.safetyBarrierRadius))), pair.connectionId, CircleVRNetwork.reliableChannel); connectedPairs.Add(pair); CircleVRDisplay.GetHead(CircleVR.GetPair(pair.userID).trackerID).Connected = true; Debug.Log("[CircleVR Host Network] Connected User ID : " + pair.userID); }
private void SendTrackingData() { foreach (Packet.TrackerData trackerData in packet.trackerDatas) { UpdatePacket(trackerData); } foreach (UserIDAndConnectionIDPair connection in connectedPairs) { CircleVRNetwork.Send(CircleVRPacketType.TrackingData, CircleVRNetwork.StringToByte(JsonUtility.ToJson(packet)), connection.connectionId, CircleVRNetwork.stateUpdateChannel); } }
private void OnPause() { if (state == CircleVRServerState.Pause) { return; } state = CircleVRServerState.Pause; CircleVRNetwork.SendBroadcast(CircleVRPacketType.Pause, CircleVRNetwork.reliableChannel); if (Event != null) { Event.OnPause(); } Debug.Log("[INFO] Content Server Send Pause"); }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.RequestServerContentInfo) { string contentServerStatus = JsonUtility.ToJson(GetContentServerStatus()); CircleVRNetwork.Send(CircleVRPacketType.ServerContentInfo, CircleVRNetwork.StringToByte(contentServerStatus), connectionId, CircleVRNetwork.reliableChannel); Debug.Log("[INFO] Send Content Server Status"); return; } if (Event != null) { Event.OnData(connectionId, channelId, key, data, error); } }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.ServerContentInfo) { Debug.Log("[INFO] Receive Content Server Status"); ContentServerStatus contentServerStatus = JsonUtility.FromJson <ContentServerStatus>(CircleVRNetwork.ByteToString(data)); if (Event != null) { Event.OnContentServerStatusReceived(contentServerStatus); } return; } if (type == CircleVRPacketType.Play) { OnPlay(); return; } if (type == CircleVRPacketType.Pause) { OnPause(); return; } if (type == CircleVRPacketType.Stop) { OnStop(); return; } if (type == CircleVRPacketType.Next) { OnNext(); return; } if (Event != null) { Event.OnData(connectionId, channelId, key, data, error); } }
public void OnConnect(int connectionID, byte error) { CircleVRNetwork.Send(CircleVRPacketType.RequestServerContentInfo, connectionID, CircleVRNetwork.reliableChannel); }
private void Awake() { CircleVRNetwork.Init(1); CircleVRClient.Event = this; CircleVRNetwork.events.Add(this); }
public void OnData(int connectionId, int channelId, byte key, byte[] data, byte error) { CircleVRPacketType type = (CircleVRPacketType)key; if (type == CircleVRPacketType.TrackingData) { CircleVRHostNetwork.Packet packet = JsonUtility.FromJson <CircleVRHostNetwork.Packet>(CircleVRNetwork.ByteToString(data)); foreach (CircleVRHostNetwork.Packet.TrackerData trackerData in packet.trackerDatas) { Debug.Assert(trackerData != null); SetTrackerTransform(trackerData); CircleVRDisplay.GetHead(trackerData.onAirVRUserID).Connected = trackerData.connected; } return; } }