No products in the cart.
このドキュメントは、GameShield SDKであまり使用されない高度な機能について説明します。特定のシナリオでプロジェクトに役立つ可能性があります。必ず事前に基本機能のSDK説明書(統合方法・動作原理を含む)を参照してください。サンプルプロジェクトは「demos_advanced_functions」フォルダにあります。
Csharp // シールド起動前に設定(全プラットフォーム共通) dunSetAutoChangePort(1); // 1=自動切替有効 clinkStart(key); // シールド起動
📝 実装例:
Csharp int new_port = dunGetCurrentTCPPort("127.0.10.21", 600); connect("127.0.10.21", new_port); // 新しいポートで接続
プラットフォームコード実装Windowsextern "C" CLINKAPI_API void dunSetAutoChangePort(int val);
Androidpublic native void dunSetAutoChangePort(int val);
(com.dun.clinkapi.Api)iOSvoid dunSetAutoChangePort(int val);
(ClinkAPIクラス)Unitypublic static void dunSetAutoChangePort(int val)
Csharp long long ip = dunGetClientIP(); if (ip != 0) { string ipStr = $"{ip/256/256/256%256}.{ip/256/256%256}.{ip/256%256}.{ip%256}"; }
Objective // iOS例 long long dunGetClientIP(); // ClinkAPIクラス
Q. 自動ポート切替が動作しない?
→ dunSetAutoChangePort(1)
をclinkStart()より前に呼び出しているか確認
Q. UDPポートで接続エラーが発生?
→ dunGetCurrentUDPPort()
で最新ポートを常に取得するよう実装を修正
Objective // Objective-C例 [ClinkAPI dunSetAutoChangePort:1]; // iOS実装
✍️ 翻訳者注記