Ejemplo n.º 1
0
    public override void InitializeTransport()
    {
        telepathy = new TelepathyWebsocketsMultiplexTransport();
        steam     = new SteamworksNetworkTransport();

        Transport.layer = steam;
    }
Ejemplo n.º 2
0
        public void ChangeTo(StatisticsInfo info)
        {
            Bps.SuspendUpdate();
            Pps.SuspendUpdate();

            Bps.Add(Tuple.Create(startTime, info.Bps));
            Pps.Add(Tuple.Create(startTime, info.Pps));
            startTime++;

            if (Bps.Count > MaxPoints)
            {
                Bps.RemoveAt(0);
                Pps.RemoveAt(0);
            }

            Bps.ResumeUpdate();
            Pps.ResumeUpdate();

            foreach (var key in info.TransportLayer.Keys)
            {
                TransportLayer.UpdateOrAdd(key, info.TransportLayer[key]);
            }
            foreach (var key in info.ApplicationLayer.Keys)
            {
                ApplicationLayer.UpdateOrAdd(key, info.ApplicationLayer[key]);
            }
            foreach (var key in info.NetworkLayer.Keys)
            {
                NetworkLayer.UpdateOrAdd(key, info.NetworkLayer[key]);
            }
        }
Ejemplo n.º 3
0
 public MainWindow()
 {
     InitializeComponent();
     globalData              = new GlobalData();
     transporLayer           = new TransportLayer();
     serial                  = new Serial(globalData, transporLayer);
     serial.deviceInfoEvent += device_info_event;
     canInterface            = new CANInterface(transporLayer, serial);
     commandHandler          = new CommandHandler(canInterface, transporLayer, serial);
     mainGrid.Background     = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), "assets/3.jpg")));
 }
Ejemplo n.º 4
0
        static void DNP3Response(LinkLayer ll, TransportLayer tl, ApplicationLayer al, ref byte[] buffer)
        {
            var appData = ApplicationLayer.ApplicationResponse(al);

            al.ApplicationData = appData;
            var transData = TransportLayer.TransportResponse(tl, al);

            tl.TransportData = transData;
            var linkData = LinkLayer.LinkResponse(ll, tl);

            buffer = linkData;
        }
Ejemplo n.º 5
0
        public SipStack()
        {
            var hf = new HeaderFactory();

            hf.AddDefaultParsers();
            _messageFactory = new MessageFactory(hf);
            _transportLayer = new TransportLayer(MessageFactory);
            _transportLayer.RequestReceived  += OnRequest;
            _transportLayer.ResponseReceived += OnResponse;
            _transactionManager = new TransactionManager(_transportLayer);
            _dialogManager      = new DialogManager(this);
            _authenticator      = new Authenticator();
        }
        // initialization
        public TelepathyWebsocketsMultiplexTransport()
        {
            // set client to llapi in webgl, telepathy otherwise
            if (Application.platform == RuntimePlatform.WebGLPlayer)
            {
                client = new LLAPITransport();
            }
            else
            {
                client = new TelepathyTransport();
            }

            // server never runs as WebGLPlayer, need to wait for Start call to
            // decide which transport to use
        }
 public void ServerStartWebsockets(string address, int port, int maxConnections)
 {
     // WebGL host mode should work without errors, even though we can't
     // start a server in WebGL
     // (can't call LLAPI's AddWebsocketHost in webgl anyway)
     if (Application.platform != RuntimePlatform.WebGLPlayer)
     {
         server = new LLAPITransport();
         server.ServerStartWebsockets(address, port, maxConnections);
     }
     else
     {
         Debug.LogWarning("ServerStartWebsockets can't be called in WebGL.");
     }
 }
 public void ServerStart(string address, int port, int maxConnections)
 {
     // WebGL host mode should work without errors, even though we can't
     // start a server in WebGL
     // (can't use Telepathy threads in webgl anyway)
     if (Application.platform != RuntimePlatform.WebGLPlayer)
     {
         server = new TelepathyTransport();
         server.ServerStart(address, port, maxConnections);
     }
     else
     {
         Debug.LogWarning("ServerStart can't be called in WebGL.");
     }
 }
Ejemplo n.º 9
0
        public void ProcessRpc(BitReaderWriter reader)
        {
            reader.ReadData(m_sender, false);
            MyPacket packet;

            packet.Data   = m_sender.ReceiveStream.Data;
            packet.Sender = MyEventContext.Current.Sender;
            if (packet.Sender.IsNull)
            {
                packet.Sender = new EndpointId(Sync.MyId);
            }
            packet.Timestamp     = TimeSpan.Zero;
            packet.PayloadOffset = 0;
            packet.PayloadLength = (int)m_sender.ReceiveStream.Position;
            TransportLayer.HandleOldGameEvent(packet);
        }
        // initialization
        public TelepathyWebsocketsMultiplexTransport()
        {
            // set client to llapi in webgl, telepathy otherwise
            if (Application.platform == RuntimePlatform.WebGLPlayer)
            {
#pragma warning disable CS0618 // Type or member is obsolete
                client = new LLAPITransport();
#pragma warning restore CS0618 // Type or member is obsolete
            }
            else
            {
                client = new TelepathyTransport();
            }

            // server never runs as WebGLPlayer, need to wait for Start call to
            // decide which transport to use
        }
Ejemplo n.º 11
0
 public MyVirtualClient(Endpoint endPoint, MyClientStateBase clientState, Sandbox.Game.World.MyPlayer.PlayerId playerId)
 {
     this.m_clientState                = clientState;
     this.m_clientState.EndpointId     = endPoint;
     this.m_clientState.PlayerSerialId = playerId.SerialId;
     this.PlayerId = playerId;
     TransportLayer.Register(MyMessageId.SERVER_DATA, endPoint.Index, new Action <MyPacket>(this.OnServerData));
     TransportLayer.Register(MyMessageId.REPLICATION_CREATE, endPoint.Index, new Action <MyPacket>(this.OnReplicationCreate));
     TransportLayer.Register(MyMessageId.REPLICATION_DESTROY, endPoint.Index, new Action <MyPacket>(this.OnReplicationDestroy));
     TransportLayer.Register(MyMessageId.SERVER_STATE_SYNC, endPoint.Index, new Action <MyPacket>(this.OnServerStateSync));
     TransportLayer.Register(MyMessageId.RPC, endPoint.Index, new Action <MyPacket>(this.OnEvent));
     TransportLayer.Register(MyMessageId.REPLICATION_STREAM_BEGIN, endPoint.Index, new Action <MyPacket>(this.OnReplicationStreamBegin));
     TransportLayer.Register(MyMessageId.JOIN_RESULT, endPoint.Index, new Action <MyPacket>(this.OnJoinResult));
     TransportLayer.Register(MyMessageId.WORLD_DATA, endPoint.Index, new Action <MyPacket>(this.OnWorldData));
     TransportLayer.Register(MyMessageId.CLIENT_CONNNECTED, endPoint.Index, new Action <MyPacket>(this.OnClientConnected));
     TransportLayer.Register(MyMessageId.REPLICATION_ISLAND_DONE, endPoint.Index, new Action <MyPacket>(this.OnReplicationIslandDone));
 }
        public void ServerStartWebsockets(string address, ushort port)
        {
            // WebGL host mode should work without errors, even though we can't
            // start a server in WebGL
            // (can't call LLAPI's AddWebsocketHost in webgl anyway)
            if (Application.platform != RuntimePlatform.WebGLPlayer)
            {
#pragma warning disable CS0618 // Type or member is obsolete
                server = new LLAPITransport();
#pragma warning restore CS0618 // Type or member is obsolete
                server.ServerStartWebsockets(address, port);
            }
            else
            {
                Debug.LogWarning("ServerStartWebsockets can't be called in WebGL.");
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Find replicable and write data into m_sender
        /// </summary>
        private MyExternalReplicable PrepareSend <TMsg>(ref TMsg msg, MyTransportMessageEnum messageType)
            where TMsg : struct, IEntityMessage
        {
            long entityId = msg.GetEntityId();
            var  entity   = MyEntities.GetEntityById(entityId);

            Debug.Assert(entity is IMyEventProxy, "To use SendAsRpc, entity must be IMyEventProxy and must have replicable in replication layer");

            var id       = TransportLayer.GetId <TMsg>(messageType);
            var callback = TransportLayer.GetCallback <TMsg>(messageType);

            m_sender.SendStream.Position = 0;
            m_sender.SendStream.WriteUShort(id.Item1);
            callback.Write(m_sender.SendStream, ref msg);
            var replicable = MyMultiplayer.Static.ReplicationLayer.GetProxyTarget((IMyEventProxy)entity) as MyExternalReplicable;

            Debug.Assert(replicable != null, "No replicable found for entity");
            Debug.Assert(replicable is IMyProxyTarget, "Replicable must be proxy target");
            return(replicable);
        }
Ejemplo n.º 14
0
 private void SendConnectRequest(IPacketData data)
 {
     TransportLayer.SendMessage(MyMessageId.CLIENT_CONNNECTED, data, true, new EndpointId(Sync.ServerId), this.m_clientState.EndpointId.Index);
 }
Ejemplo n.º 15
0
 private void SendClientUpdate(IPacketData data)
 {
     TransportLayer.SendMessage(MyMessageId.CLIENT_UPDATE, data, false, new EndpointId(Sync.ServerId), this.m_clientState.EndpointId.Index);
 }
Ejemplo n.º 16
0
 private void SendClientAcks(IPacketData data)
 {
     TransportLayer.SendMessage(MyMessageId.CLIENT_ACKS, data, true, new EndpointId(Sync.ServerId), this.m_clientState.EndpointId.Index);
 }
Ejemplo n.º 17
0
 /// <summary>
 /// True iff the SequenceNumber, AcknowledgmentNumber, ControlBits, Window, UrgentPointer and Options fields are equal.
 /// </summary>
 protected override bool EqualFields(TransportLayer other)
 {
     return EqualFields(other as TcpLayer);
 }
Ejemplo n.º 18
0
        public void RunFileWithSpeed(RunSpeeds run_speed)
        {
            if (string.IsNullOrEmpty(FileName))
            {
                return;
            }
            if (run_speed == RunSpeeds.Original)
            {
                return;
            }
            if (PacketCount == 0 || SelectedNetworkAdapter == null)
            {
                return;
            }

            // Retrieve the length of the capture file
            long capLength = new FileInfo(FileName).Length;

            int time_interval = 100;

            switch (run_speed)
            {
            case RunSpeeds.Original:
            case RunSpeeds.s100:
                time_interval = 100;
                break;

            case RunSpeeds.Zero:
                time_interval = 1;
                break;

            case RunSpeeds.s250:
                time_interval = 250;
                break;

            case RunSpeeds.s500:
                time_interval = 500;
                break;

            case RunSpeeds.s1000:
                time_interval = 1000;
                break;

            default:
                time_interval = 100;
                break;
            }

            DateTime time_stamp = DateTime.Now;

            // Open the capture file
            OfflinePacketDevice selectedInputDevice = new OfflinePacketDevice(FileName);

            using (PacketCommunicator inputCommunicator =
                       selectedInputDevice.Open(65536,                                  // portion of the packet to capture
                                                                                        // 65536 guarantees that the whole packet will be captured on all the link layers
                                                PacketDeviceOpenAttributes.Promiscuous, // promiscuous mode
                                                1000))                                  // read timeout
            {
                // Open the output device
                using (PacketCommunicator outputCommunicator =
                           SelectedNetworkAdapter.Open(100, PacketDeviceOpenAttributes.Promiscuous, 1000))
                {
                    // Fill the buffer with the packets from the file
                    AlteredPackets = new List <Packet>();
                    Packet packet;
                    int    packet_count = 0;
                    while (inputCommunicator.ReceivePacket(out packet) == PacketCommunicatorReceiveResult.Ok)
                    {
                        // Create the builder that will build our packets
                        EthernetLayer  ethernet_layer  = packet.Ethernet == null ? null : (EthernetLayer)packet.Ethernet.ExtractLayer();
                        IpV4Layer      ipv4_layer      = packet.Ethernet.IpV4 == null ? null : (IpV4Layer)packet.Ethernet.IpV4.ExtractLayer();
                        IcmpLayer      icmp_layer      = packet.Ethernet.IpV4.Icmp == null ? null : (IcmpLayer)packet.Ethernet.IpV4.Icmp.ExtractLayer();
                        TransportLayer transport_layer = packet.Ethernet.IpV4.Transport == null ? null : (TransportLayer)packet.Ethernet.IpV4.Transport.ExtractLayer();
                        PayloadLayer   datagram_layer  = packet.Ethernet.IpV4.Payload == null ? null : (PayloadLayer)packet.Ethernet.IpV4.Payload.ExtractLayer();

                        try
                        {
                            if (ipv4_layer.Length < 1) // Catch null Length
                            {
                                // Do Nothing
                            }
                        }
                        catch
                        {
                            ipv4_layer = null;
                        }

                        List <ILayer> layers = new List <ILayer>();

                        if (IsRTP(packet))
                        {
                            if (ethernet_layer != null)
                            {
                                layers.Add(ethernet_layer);
                            }
                            if (ipv4_layer != null)
                            {
                                layers.Add(ipv4_layer);
                            }
                            if (datagram_layer != null)
                            {
                                layers.Add(datagram_layer);
                            }
                        }
                        else
                        {
                            if (ethernet_layer != null)
                            {
                                layers.Add(ethernet_layer);
                            }
                            if (ipv4_layer != null)
                            {
                                layers.Add(ipv4_layer);
                            }
                            if (icmp_layer != null)
                            {
                                layers.Add(icmp_layer);
                            }

                            if (transport_layer != null)
                            {
                                layers.Add(transport_layer);
                            }
                            if (datagram_layer != null && IsRTP(packet))
                            {
                                layers.Add(datagram_layer);
                            }
                        }

                        PacketBuilder builder = new PacketBuilder(layers);

                        Packet altered_packet = builder.Build(time_stamp.AddMilliseconds((packet_count * time_interval) / 1000));
                        ProcessAlteredPacket(altered_packet);

                        packet_count++;
                    }

                    // Allocate a send buffer
                    using (PacketSendBuffer sendBuffer = new PacketSendBuffer(4294967295))
                    {
                        foreach (Packet p in AlteredPackets)
                        {
                            sendBuffer.Enqueue(p);
                        }

                        // Transmit the queue
                        Stopwatch stopwatch = new Stopwatch();
                        stopwatch.Start();
                        long startTimeMs = stopwatch.ElapsedMilliseconds;
                        Common.ConsoleWriteLine(ConsoleText);
                        Common.ConsoleWriteLine(ConsoleText, "File:\n   " + FileName.Substring(FileName.LastIndexOf("\\") + 1));
                        Common.ConsoleWriteLine(ConsoleText, "   Start Time: " + startTimeMs);
                        outputCommunicator.Transmit(sendBuffer, true);
                        long endTimeMs = stopwatch.ElapsedMilliseconds;
                        Common.ConsoleWriteLine(ConsoleText, "   End Time: " + endTimeMs);
                        long elapsedTimeMs = endTimeMs - startTimeMs;
                        Common.ConsoleWriteLine(ConsoleText, "   Elapsed Time: " + elapsedTimeMs);
                        double averagePacketsPerSecond = elapsedTimeMs == 0 ? double.MaxValue : (double)AlteredPackets.Count / elapsedTimeMs * 1000;

                        Common.ConsoleWriteLine(ConsoleText, "   Elapsed time: " + elapsedTimeMs + " ms");
                        Common.ConsoleWriteLine(ConsoleText, "   Total packets generated = " + AlteredPackets.Count);
                        Common.ConsoleWriteLine(ConsoleText, "   Average packets per second = " + averagePacketsPerSecond);
                        Common.ConsoleWriteLine(ConsoleText, "");
                    }
                }
            }
        }
Ejemplo n.º 19
0
        /// <summary>
        /// This is the main function for the simple client. It parses the command line and creates
        /// a socket of the requested type. For TCP, it will resolve the name and attempt to connect
        /// to each resolved address until a successful connection is made. Once connected a request
        /// message is sent followed by shutting down the send connection. The client then receives
        /// data until the server closes its side at which point the client socket is closed. For
        /// UDP, the socket is created and if indicated connected to the server's address. A single
        /// request datagram message. The client then waits to receive a response and continues to
        /// do so until a zero byte datagram is receive which indicates the end of the response.
        /// </summary>

        /// <param name="args">Command line arguments</param>

        static void Main(string[] args)
        {
            SocketType   sockType = SocketType.Stream;
            ProtocolType sockProtocol = ProtocolType.Tcp;
            string       remoteName = "localhost";
            bool         udpConnect = false;
            int          remotePort = 5150, bufferSize = 4096;

            Console.WriteLine();
            usage();
            Console.WriteLine();
            // Parse the command line
            for (int i = 0; i < args.Length; i++)
            {
                try
                {
                    if ((args[i][0] == '-') || (args[i][0] == '/'))
                    {
                        switch (Char.ToLower(args[i][1]))
                        {
                        case 'c':           // "Connect" the UDP socket to the destination
                            udpConnect = true;
                            break;

                        case 'n':           // Destination address to connect to or send to
                            remoteName = args[++i];
                            break;

                        case 'p':           // Port number for the destination
                            remotePort = System.Convert.ToInt32(args[++i]);
                            break;

                        case 't':           // Specified TCP or UDP
                            i++;
                            if (String.Compare(args[i], "tcp", true) == 0)
                            {
                                sockType     = SocketType.Stream;
                                sockProtocol = ProtocolType.Tcp;
                            }
                            else if (String.Compare(args[i], "udp", true) == 0)
                            {
                                sockType     = SocketType.Dgram;
                                sockProtocol = ProtocolType.Udp;
                            }
                            else
                            {
                                usage();
                                return;
                            }
                            break;

                        case 'x':           // Size of the send and receive buffers
                            bufferSize = System.Convert.ToInt32(args[++i]);
                            break;

                        default:
                            usage();
                            return;
                        }
                    }
                }
                catch
                {
                    usage();
                    return;
                }
            }

            Socket      clientSocket = null;
            IPHostEntry resolvedHost = null;
            IPEndPoint  destination  = null;

            byte[] sendBuffer = new byte[bufferSize], recvBuffer = new Byte[bufferSize];
            int    rc;
            // Format the string message into the send buffer

            // we will send the DNP3 request
            ApplicationLayer al = new ApplicationLayer();

            al.ApplicationData    = new byte[] { 0x02, 0x00, 0x06 };
            al.FunctionCode       = (byte)FunctionCode.READ; // Read
            al.ApplicationControl = 0xc2;
            al.serialize(ref al.ApplicationData);

            TransportLayer tl = new TransportLayer();

            tl.TransportData = al.ApplicationData;
            tl.seq           = 1;
            tl.FIN           = 1;
            tl.FIR           = 1;
            tl.serialize(ref tl.TransportData);

            LinkLayer ll = new LinkLayer();

            ll.LinkData     = tl.TransportData;
            ll.source       = 3;
            ll.destination  = 4;
            ll.dir          = (byte)DIR.MASTER;
            ll.prm          = (byte)PRM.INITIATED;
            ll.fcb          = (byte)FCB.set;
            ll.fcv          = (byte)FCV.set;
            ll.functionCode = (byte)PrimaryFunctionCode.PRI_CONFIRMED_USER_DATA;
            ll.controlByte  = ll.GetControlByte(true);
            ll.serialize(ref ll.LinkData);

            var sb = new StringBuilder("new byte[] { ");

            for (var i = 0; i < ll.LinkData.Length; i++)
            {
                var b = ll.LinkData[i];
                sb.Append(b);
                if (i < ll.LinkData.Length - 1)
                {
                    sb.Append(", ");
                }
            }
            sb.Append(" }");
            Console.WriteLine("DNP3 data using String Builder " + sb.ToString());

            //FormatBuffer(sendBuffer, textMessage);
            BufferFormatting(ref sendBuffer, ll.LinkData);
            try
            {
                // Try to resolve the remote host name or address
                resolvedHost = Dns.GetHostEntry(remoteName);
                Console.WriteLine("Client: GetHostEntry() is OK...");

                // Try each address returned
                foreach (IPAddress addr in resolvedHost.AddressList)
                {
                    // Create a socket corresponding to the address family of the resolved address
                    clientSocket = new Socket(
                        addr.AddressFamily,
                        sockType,
                        sockProtocol
                        );

                    Console.WriteLine("Client: Socket() is OK...");
                    try
                    {
                        // Create the endpoint that describes the destination
                        destination = new IPEndPoint(addr, remotePort);
                        Console.WriteLine("Client: IPEndPoint() is OK. IP Address: {0}, server port: {1}", addr, remotePort);
                        if ((sockProtocol == ProtocolType.Udp) && (udpConnect == false))
                        {
                            Console.WriteLine("Client: Destination address is: {0}", destination.ToString());
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Client: Attempting connection to: {0}", destination.ToString());
                        }
                        clientSocket.Connect(destination);
                        Console.WriteLine("Client: Connect() is OK...");
                        break;
                    }
                    catch (SocketException)
                    {
                        // Connect failed, so close the socket and try the next address
                        clientSocket.Close();
                        Console.WriteLine("Client: Close() is OK...");
                        clientSocket = null;
                        continue;
                    }
                }

                // Make sure we have a valid socket before trying to use it
                if ((clientSocket != null) && (destination != null))
                {
                    try
                    {
                        new Thread(() =>
                        {
                            int sendCount = 0;
                            while (true && sendCount < 1)
                            {
                                // Send the request to the server
                                if ((sockProtocol == ProtocolType.Udp) && (udpConnect == false))
                                {
                                    clientSocket.SendTo(sendBuffer, destination);
                                    sendCount++;
                                    Console.WriteLine("Client: SendTo() is OK...UDP...");
                                }
                                else
                                {
                                    rc = clientSocket.Send(sendBuffer);
                                    sendCount++;
                                    Console.WriteLine("Client: send() is OK...TCP...");
                                    Console.WriteLine("Client: Sent request of {0} bytes", rc);

                                    // For TCP, shutdown sending on our side since the client won't send any more data
                                    if (sockProtocol == ProtocolType.Tcp)
                                    {
                                        //clientSocket.Shutdown(SocketShutdown.Send);
                                        //Console.WriteLine("Client: Shutdown() is OK...");
                                    }
                                }
                            }
                        }).Start();

                        // Receive data in a loop until the server closes the connection. For
                        //    TCP this occurs when the server performs a shutdown or closes
                        //    the socket. For UDP, we'll know to exit when the remote host
                        //    sends a zero byte datagram.
                        new Thread(() =>
                        {
                            while (true)
                            {
                                if ((sockProtocol == ProtocolType.Tcp) || (udpConnect == true))
                                {
                                    rc = clientSocket.Receive(recvBuffer);
                                    Console.WriteLine("Client: Receive() is OK...");
                                    Console.WriteLine("Client: Read {0} bytes", rc);
                                    recvBuffer = recvBuffer.Where((v, i) => i < rc).ToArray();
                                    var sbs    = new StringBuilder("new byte[] { ");
                                    for (var i = 0; i < recvBuffer.Length; i++)
                                    {
                                        var b = recvBuffer[i];
                                        sbs.Append(b);
                                        if (i < recvBuffer.Length - 1)
                                        {
                                            sbs.Append(", ");
                                        }
                                    }
                                    sbs.Append(" }");
                                    Console.WriteLine("DNP3 Application response " + sbs.ToString());
                                }
                                else
                                {
                                    IPEndPoint fromEndPoint = new IPEndPoint(destination.Address, 0);
                                    Console.WriteLine("Client: IPEndPoint() is OK...");
                                    EndPoint castFromEndPoint = (EndPoint)fromEndPoint;
                                    rc = clientSocket.ReceiveFrom(recvBuffer, ref castFromEndPoint);
                                    Console.WriteLine("Client: ReceiveFrom() is OK...");
                                    fromEndPoint = (IPEndPoint)castFromEndPoint;
                                    Console.WriteLine("Client: Read {0} bytes from {1}", rc, fromEndPoint.ToString());
                                }
                                // Exit loop if server indicates shutdown
                                if (rc == 0)
                                {
                                    clientSocket.Close();
                                    Console.WriteLine("Client: Close() is OK...");
                                    break;
                                }
                            }
                        }).Start();
                    }
                    catch (SocketException err)
                    {
                        Console.WriteLine("Client: Error occurred while sending or receiving data.");
                        Console.WriteLine("   Error: {0}", err.Message);
                    }
                }
                else
                {
                    Console.WriteLine("Client: Unable to establish connection to server!");
                }
            }
            catch (SocketException err)
            {
                Console.WriteLine("Client: Socket error occurred: {0}", err.Message);
            }
        }
Ejemplo n.º 20
0
        public ZFingerDevice CreateZFingerDevice()
        {
            var           sessionId = NextSessionId();
            ZFingerDevice ret       = new ZFingerDevice(sessionId, SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(sessionId));

            return(ret);
        }
Ejemplo n.º 21
0
 private void SendEvent(IPacketData data, bool reliable)
 {
     TransportLayer.SendMessage(MyMessageId.RPC, data, reliable, new EndpointId(Sync.ServerId), this.m_clientState.EndpointId.Index);
 }
Ejemplo n.º 22
0
        public InstallerController CreateInstallerController()
        {
            var sessionId           = NextSessionId();
            InstallerController ret = new InstallerController(sessionId, SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(sessionId));

            return(ret);
        }
Ejemplo n.º 23
0
        public BridgeController CreateBridgeController()
        {
            var sessionId        = NextSessionId();
            BridgeController ret = new BridgeController(sessionId, SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(sessionId));

            return(ret);
        }
Ejemplo n.º 24
0
        public Slave CreateSlave()
        {
            var   sessionId = NextSessionId();
            Slave ret       = new Slave(sessionId, SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(sessionId));

            return(ret);
        }
Ejemplo n.º 25
0
 public XModemDevice CreateXModem()
 {
     return(new XModemDevice(SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(0)));
 }
    private void Start()
    {
        canMove = true;
        m_RigidBody = GetComponent<Rigidbody>();
        m_Capsule = GetComponent<CapsuleCollider>();
        if (isLocalPlayer)
        {
            transportLayer = GameObject.FindObjectOfType<TransportLayer>();
            flashlightStatus = 1;
            cam = GetComponentInChildren<Camera>();
            mouseLook.Init(transform, cam.transform);
            if (isServer)
                GameObject.Instantiate(Resources.Load("Prefabs/ObjectSpawner") as GameObject, new Vector3(0, 0, 0), new Quaternion());
        }
        if (!isLocalPlayer)
        {
            GetComponentInChildren<Camera>().gameObject.SetActive(false);
        }

    }
Ejemplo n.º 27
0
 private void SendReplicableReady(IPacketData data)
 {
     TransportLayer.SendMessage(MyMessageId.REPLICATION_READY, data, true, new EndpointId(Sync.ServerId), this.m_clientState.EndpointId.Index);
 }
Ejemplo n.º 28
0
 public void ServerStartWebsockets(string address, int port, int maxConnections)
 {
     server = new LLAPITransport();
     server.ServerStartWebsockets(address, port, maxConnections);
 }
Ejemplo n.º 29
0
        public TextDevice CreateTextDevice()
        {
            var        sessionId = NextSessionId();
            TextDevice ret       = new TextDevice(sessionId, SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(sessionId));

            return(ret);
        }
Ejemplo n.º 30
0
	// Use this for initialization
	void Start () {
        transportLayer = GameObject.FindObjectOfType<TransportLayer>();
	}
Ejemplo n.º 31
0
        public ApplicationClient CreateClient()
        {
            var sessionId         = NextSessionId();
            ApplicationClient ret = new ApplicationClient(ApiType, sessionId, SessionLayer.CreateClient(), FrameLayer.CreateClient(), TransportLayer.CreateClient(sessionId));

            return(ret);
        }
Ejemplo n.º 32
0
 public void ServerStart(string address, int port, int maxConnections)
 {
     server = new TelepathyTransport();
     server.ServerStart(address, port, maxConnections);
 }