Exemplo n.º 1
0
        /// <summary>
        /// Forces the Peer to disconnect, raising the OnDisconnect event in the process.
        /// This method is also called when a peer disconnects or loses connection normally.
        /// </summary>
        public void DisconnectWithMessage(byte disconnectMsgIdentifier)
        {
            NetworkWriter writer = new NetworkWriter();

            writer.StartMessage(ScopeMsgType.DisconnectMessage);
            writer.Write(disconnectMsgIdentifier);
            writer.FinishMessage();

            ScopeUtils.SendNetworkWriter(writer, this);

            // trigger early disconnection
            ForceDisconnect(false);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Sends instructions to reconnect to the specified host.
        /// </summary>
        /// <param name="hostname">IP Address or Host.</param>
        /// <param name="port">Server port.</param>
        public void Redirect(string hostname, int port)
        {
            NetworkWriter writer = new NetworkWriter();

            writer.StartMessage(ScopeMsgType.RedirectMessage);
            writer.Write(hostname);
            writer.Write(port);
            writer.FinishMessage();

            ScopeUtils.SendNetworkWriter(writer, this);

            // trigger early disconnection
            ForceDisconnect(false);
        }
Exemplo n.º 3
0
        void INetworkSender.PrepareAndSendWriter(NetworkWriter writer)
        {
            writer.FinishMessage();

#if UNITY_EDITOR && SCOPE_DEBUGGING
            // log outgoing signal
            ScopeDebugger.AddOutgoingSignal(this, typeof(ClientConnection), new NetworkReader(writer));
#endif

            if (!IsTargetGroup)
            {
                ScopeUtils.SendNetworkWriter(writer, TargetPeer);
            }
            else
            {
                ScopeUtils.SendNetworkWriter(writer, TargetPeerGroup);
            }
        }