1.4.1 • Published 5 years ago
com.gamesofa.net.sockethandler v1.4.1
通用的 SocketHandler
預設不處理 0x90, 0x91, 0x92, 0x93 以外的 BinaryCommand
Change Log
1.3.22
- 釋放 Socket 時 GC.Collect
- 連線前 Dns.GetHostEntry
null check
1.3.21
- 加上 RCLog
1.3.20
- 開出 server config的RC_timeout欄位
1.3.19
- 開出 擴充方法, 確定ping timeout才完全切斷連線
1.3.18
- 調整 切換成弱連的相關處理
1.3.17
- 調整 切換成弱連,停止ping偵測和清空ping queue
1.3.16
- 調整 停止ping偵測的功能
1.3.15
- 開出 測試停止ping偵測的方法
1.3.14
- 將檢查ping timeout整理成function
- 開出 斷線+廣播的方法
1.3.13
- 開出 測試連線用的擴充方法
1.3.12
- 開出 client_session_id
1.3.11
- 開出 RCKey
1.3.10
- 斷線重連改為每次都替換 Host
- 重連時用 http get host 做 proxy 紀錄
1.3.8
- 加上 timeout 重連次數
1.3.7
- 修正 EnablePingPongLog
- 將壓縮 Cmd 決定權從 SocketHandler 中移除
1.3.6
- 加上 LogMsgPackHex 印出送出的 Hex
1.3.5
- 新增 Config
- 新增壓縮閾值放到 Config 內並可修改
- 新增 OnCompressionException, OnMessagePackException
- Command 解析或解壓失敗時觸發 OnCompressionException, OnMessagePackException
1.3.4
- 調整送出完成 Log 的開關方式
1.3.3
- client_connection_id 改為 client_session_id
1.3.2
- 連上 proxy 時先送出 !client_connection_id
- 收到 !RCNG 時直接切斷連線
1.3.1
- 加上測試釋放 Socket
- 收到的 LZ4 Command 解壓後在處理前另外複製一份出來
- Pingpong 檢查失敗時直接結束 Routine
1.3.0
- 加上 0x92, 0x93 做為 0x90, 0x91 的 LZ4 壓縮
- 加上連上 Proxy 時 Log Client IP
1.2.2
- Socket.Dispose改為CloseImmediately
1.2.1
- 加上 OnEveryDisconnect 和 SocketEstablished
1.2.0
- 調整內部連線斷線處理流程
1.1.4
- 重連時停止 pingpong
1.1.3
- 新增暫用 event SocketDisconnect_Temp
1.1.2
- 新增 event CommandError
1.1.1
- 新增 event SocketError
1.1.0
- Constructor 參數改為 Func
- 在 Pingpong Timer 錯誤超過 Pingtimout 時間後直接重建 Socket
1.0.57
- 調整正確 DisconnectImmediately 後將 State 設為 Disconnected
1.0.56
- 調整不為斷線中都可執行 Disconnect
1.0.55
- 修正斷線重連時不會執行 Timeout 處理
1.0.54
- revert 斷線重連 Timeout
1.0.53
- 修正非 Connected 時也會送 cmd
- 補上斷線重連 Timeout
1.0.52
- 改為只有 0x90 和 0x91 接 seq
- _pong 改成只在 seq 對不起來時印出 log
1.0.51
- 加上用 _pong 校正 seq
1.0.50
- BinaryCommand 都接上 seq++
1.0.49
- 調整 Socket Error 時也強制做斷線重連
1.0.48
- 新增 MsgPackSendCmd, 內含一個 seq 欄位用來追蹤 cmd 順序和是否被重複送出
- 新增 ReconnectRetryInterval 調整斷線重連間隔
- 新增 AlertReconnectingAtRetryCount 設定重連到第幾次開始要跳提示訊息
- 新增 ShowSocketReconnecting 觸發顯示正在斷線重連, 參數為該次重連等待間隔
- 移除測試用的時間 Log
1.0.47
- 調整 Ping 值顯示範圍為 -1~9999
1.0.46
- 調整斷線時 reason 的內文
1.0.45
- 加上 0x91 打包 cmd
1.0.44
- SendCmd 拿掉回收 MemoryStream
1.0.43
- revert 回 1.0.41
- 修正 Pingpong Timer error 的強制斷線重連
1.0.42
- 加上 0x91 (可收, 送要開 SocketHandler.EnableSend0x91)
- 修正 Pingpong Timer error 的強制斷線重連
1.0.41
- Timer 改用 Task 實作
1.0.40
- 移除測試 Code
1.0.39
- Coroutine 改為檢查到 Timer 沒作用就重連
1.0.38
- 用 Coroutine 檢查 Pingpong timer 是否活著並重新啟動
1.0.37
1.0.36
- 更多 ping log (需開flag)
1.0.35
- 拿掉 "延遲送出" 的 log
- 另外加一條 Coroutine 檢查 ping timeout
- ping log 改為 flag 開關
1.0.34
- 嘗試修正 ping 的 AggregateException
1.0.33
1.0.32
- 調整所有 binary cmd 都會先進 queue, 在 EndOfFrame 時依序送出
- 調整 ping log
1.0.31
- 斷線重連時額外 ping 目標 host
1.0.30
- Send Command 的部分加上可帶入 callback
1.0.29
- 修正延遲斷線重連會重複處理的問題
- 調整Coroutine的完成處理, 避免後續停錯 Coroutine
1.0.28
1.0.27
- 修正延遲斷線重連會重複處理的問題
1.0.26
- 每個 frame 的 cmd 數量改為可調整, 在超過限制時依然會印出 warning ※ 非正解
1.0.25
- 暫加上一個 frame 只送一個 cmd 的限制, 在超過限制時會印出 warning (下版改為可控數量) ※ 非正解
1.0.24
- 調整瞬斷重連的間隔
1.0.23
- 調整 SocketStartConnect 的 delegate 型別
1.0.21
- 擴充 SocketHandler.RegisterMsgPackCommand 可和 SocketHandler.RegisterMsgPackCommand 同時並存
- 擴充 SocketHandler.RegisterMsgPackCommand 可支援多型別同時註冊
1.0.20
- 加上處理 Cmd 有 Exception 時會印出是 Resolver 沒註冊還是 Cmd 內容有問題
1.0.19
- 加上 Inspector
1.0.18
- MsgPackReceiveCmd 加上 ulong error
1.0.17
- 新增 SocketHandler.RegisterMsgPackCommand, 注意同 Command 不可和 RegisterMsgPackCommand 混用
1.0.13
- 加上收到 0x90 cmd 時如果解不出來, 開 LogMsgPackContent 可印出 raw bytes
1.0.12
- 補上 IL2CPP 用 Resolver
1.0.11
- 移除 Gamesofa.MsgPack
1.0.10
- neuecc 版 MessagePack Attribute 並存
1.0.9
- 調整送出 Command 的 Log 方式,新增相關參數的建置功能 (113294)
1.0.8
- 修正 Log 的 Flag 數值
- 加上 DebugWindow 用的 Flag Name
1.0.7
調整收到 Command 時的 Log 內容
1.0.6
更新 Debug Flag