當前位置: 首頁>>代碼示例>>C#>>正文


C# Packet.EncodePacket方法代碼示例

本文整理匯總了C#中PRoCon.Core.Remote.Packet.EncodePacket方法的典型用法代碼示例。如果您正苦於以下問題:C# Packet.EncodePacket方法的具體用法?C# Packet.EncodePacket怎麽用?C# Packet.EncodePacket使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在PRoCon.Core.Remote.Packet的用法示例。


在下文中一共展示了Packet.EncodePacket方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: SendAsync

        // Send straight away ignoring the queue
        private void SendAsync(Packet cpPacket) {
            try {

                bool isProcessed = false;

                if (this.BeforePacketSend != null) {
                    this.BeforePacketSend(this, cpPacket, out isProcessed);
                }

                if (isProcessed == false && this.NetworkStream != null) {

                    byte[] bytePacket = cpPacket.EncodePacket();

                    lock (this.QueueUnqueuePacketLock) {
                        if (cpPacket.OriginatedFromServer == false && cpPacket.IsResponse == false && this.OutgoingPackets.ContainsKey(cpPacket.SequenceNumber) == false) {
                            this.OutgoingPackets.Add(cpPacket.SequenceNumber, cpPacket);
                        }
                    }

                    this.NetworkStream.BeginWrite(bytePacket, 0, bytePacket.Length, this.SendAsyncCallback, cpPacket);

                }
            }
            catch (SocketException se) {
                this.Shutdown(se);
            }
            catch (Exception e) {
                this.Shutdown(e);
            }
        }
開發者ID:bensonk,項目名稱:Procon-1,代碼行數:31,代碼來源:FrostbiteConnection.cs

示例2: SendAsync

        // Send straight away ignoring the queue
        private void SendAsync(Packet cpPacket) {
            try {

                bool isProcessed = false;

                if (this.BeforePacketSend != null) {
                    this.BeforePacketSend(this, cpPacket, out isProcessed);
                }

                if (isProcessed == false && this.m_nwsStream != null) {

                    byte[] a_bBytePacket = cpPacket.EncodePacket();

                    if (cpPacket.OriginatedFromServer == false && cpPacket.IsResponse == false && this.m_dicSentPackets.ContainsKey(cpPacket.SequenceNumber) == false) {
                        this.m_dicSentPackets.Add(cpPacket.SequenceNumber, cpPacket);
                    }

                    this.m_nwsStream.BeginWrite(a_bBytePacket, 0, a_bBytePacket.Length, this.SendAsyncCallback, cpPacket);

                }
            }
            catch (SocketException se) {
                this.Shutdown(se);
            }
            catch (Exception e) {
                this.Shutdown(e);
            }
        }
開發者ID:ratdart,項目名稱:Procon-1,代碼行數:29,代碼來源:FrostbiteConnection.cs

示例3: SendAsync

        public void SendAsync(Packet cpPacket) {
            try {
                byte[] a_bBytePacket = cpPacket.EncodePacket();

                this.m_tcpStream.BeginWrite(a_bBytePacket, 0, a_bBytePacket.Length, this.SendAsyncCallback, cpPacket);

            }
            catch (SocketException) {
                // TO DO: Error reporting, possibly in a log file.
                this.Shutdown();
            }
            catch (Exception) {
                this.Shutdown();
            }
        }
開發者ID:ratdart,項目名稱:Procon-1,代碼行數:15,代碼來源:FrostbiteLayerConnection.cs


注:本文中的PRoCon.Core.Remote.Packet.EncodePacket方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。