using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Google.Protobuf; using Nettention.Proud; using SESSION_ID = System.Int32; namespace ServerCore; //============================================================================================= // ProudNet 관련 각종 지원 함수 // // author : kangms // //============================================================================================= public static class ProudNetHelper { private static RmiContext? m_rmi; public static RmiContext compressRmi() { if (m_rmi == null) { m_rmi = RmiContext.ReliableSend.Clone(); m_rmi.compressMode = CompressMode.CM_None; } return m_rmi; } public static SESSION_ID getSessionId(this NetClientInfo netClientInfo) { return (SESSION_ID)netClientInfo.hostID; } public static HostID toHostID(this SESSION_ID sessionId) { return (HostID)sessionId; } public static SESSION_ID toSESSION_ID(this HostID hostId) { return (SESSION_ID)hostId; } public static string getNetClientPublicIp(this Nettention.Proud.NetServer netServer, HostID hostId) { var client_public_ip = string.Empty; var found_client_info = netServer.GetClientInfo(hostId); if (null == found_client_info) { Log.getLogger().debug($"Not found ProudNet.NetClientInfo !!! : HostId:{hostId}"); } else { client_public_ip = found_client_info.tcpAddrFromServer.IPToString(); } return client_public_ip; } }