⓪著作: 蕭沖

 

近來發現BCB6的TClientSocket關於OnRead的事件有些問題:若在事件裡沒有處理到ReceiveBuf這個方法,則下一回的event就不會被觸發。所以,在OnRead的事件裡,無論如何先收資料下來再說! 千萬別一開始就在ReceiveBuf前return或是把ReceiveBuf放在某個if裡。(為何可能會錯誤的那麼做? 因為常常都是想檢查ReceiveLength,若不符合我們要的結構長度,則…)

若不收下來,那所有的封包依舊保留在socket的資料緩衝,於是爆了,接著就當了!!

arrow
arrow
    全站熱搜

    aftcast 發表在 痞客邦 留言(0) 人氣()