72 lines
1.6 KiB
C#
72 lines
1.6 KiB
C#
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;
|
|
}
|
|
}
|