1.4.1 • Published 5 years ago

com.gamesofa.net.sockethandler v1.4.1

Weekly downloads
36
License
-
Repository
-
Last release
5 years ago

通用的 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