iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0
自我挑戰組

多人連線遊戲背後的原理與實作系列 第 24

Day24 - 程式實作(寄送封包篇三)

  • 分享至 

  • xImage
  •  

為了確保系統會自動釋放完整資源,呼叫時使用 using 來呼叫對應的方法處理封包,而結束時垃圾收集行程(GC)並不會處置該物件,需呼叫 Dispose 的方法來手動釋放資源,包括Buffer暫存及讀取位置。

private bool disposed = false;
protected virtual void Dispose(bool _disposing)
{
    if (!disposed)
    {
        if (_disposing)
        {
            buffer = null;
            readableBuffer = null;
            readPos = 0;
        }
        disposed = true;
    }
}
public void Dispose()
{
    Dispose(true);
    GC.SuppressFinalize(this);
}

為了提高系統的效能,封包的處理以及優化是很重要的。

  1. 減少不必要的資訊,降低封包大小。
  2. 這點在後面會做更多的介紹,主要目的是減少不必要的封包。

上一篇
Day23 - 程式實作(寄送封包篇二)
下一篇
Day25 - 程式實作(玩家移動篇一)
系列文
多人連線遊戲背後的原理與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言