Exemplo n.º 1
0
        public void SendVesselPacket(VesselPacket vp)
        {
            if (!Connected)
            {
                return;
            }
            vp.ID     = ++VPc;
            sendVP.vp = vp;

            UInt16 checksum;

            unsafe
            {
                checksum = Checksum((byte *)&vp, sizeof(VesselPacket));
            }

            sendVP.header.checksum = checksum;

            int size = Marshal.SizeOf(sendVP);

            byte[] arr = new byte[size];

            IntPtr ptr = Marshal.AllocHGlobal(size);

            Marshal.StructureToPtr(sendVP, ptr, true);
            Marshal.Copy(ptr, arr, 0, size);
            Marshal.FreeHGlobal(ptr);

            sendQueue.Enqueue(arr);
        }
Exemplo n.º 2
0
        public void Awake()
        {
            TempR = new IOResource();
            DontDestroyOnLoad(gameObject);
            msg("Starting YARK KSPWebsockIO");

            SP             = new StatusPacket();
            SP.YarkVersion = YARK_VERSION;
            VP             = new VesselPacket();

            server = new TcpListener(IPAddress.Any, Config.TCPPort);
            server.Start();

            inFlight = -1;
        }