Пример #1
0
        public static UDPProxyClient GetInstance()
        {
            global::System.IntPtr cPtr = RakNetPINVOKE.CSharp_RakNet_UDPProxyClient_GetInstance();
            UDPProxyClient        ret  = (cPtr == global::System.IntPtr.Zero) ? null : new UDPProxyClient(cPtr, false);

            return(ret);
        }
Пример #2
0
        private bool isProxyMsgSending = false;                    //(内部用)启动代理转发消息时,是否持续发送消息来保持连接

        public RaknetUdpPeerClient()
        {
            natPunchthroughClient = new NatPunchthroughClient();
            udpProxyClient        = new UDPProxyClient();
            OnConnect            += RaknetUdpPeerClient_OnConnect;
            OnConnectFailed      += RaknetUdpPeerClient_OnConnectFailed;
            OnReceive            += RaknetUdpPeerClient_OnReceive;
            OnDisConnect         += RaknetUdpPeerClient_OnDisConnect;
        }
Пример #3
0
 public override void OnRecipientNotConnected(SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, UDPProxyClient proxyClientPlugin)
 {
     RaknetExtension.WriteInfo("▲▲▲OnRecipientNotConnected");
 }
Пример #4
0
 public override void OnNoServersOnline(SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, UDPProxyClient proxyClientPlugin)
 {
     RaknetExtension.WriteInfo("▲▲▲OnNoServersOnline");
 }
Пример #5
0
 public override void OnForwardingNotification(string proxyIPAddress, ushort proxyPort, SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, UDPProxyClient proxyClientPlugin)
 {
     RaknetExtension.WriteInfo("▲▲▲OnForwardingNotification");
 }
Пример #6
0
            public override void OnForwardingSuccess(string proxyIPAddress, ushort proxyPort, SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, UDPProxyClient proxyClientPlugin)
            {
                RaknetExtension.WriteInfo("▲▲▲OnForwardingSuccess");
                _proxyServerAddress = new RaknetIPAddress(targetAddress.ToString(false), targetAddress.GetPort());
                var peer          = proxyClientPlugin.GetRakPeerInterface();
                var systemAddress = peer.GetMyBoundAddress();

                peer.Connect(_proxyServerAddress.Address, _proxyServerAddress.Port, "", 0);
            }
Пример #7
0
 public virtual void OnForwardingInProgress(string proxyIPAddress, ushort proxyPort, SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, UDPProxyClient proxyClientPlugin)
 {
     RakNetPINVOKE.CSharp_RakNet_UDPProxyClientResultHandler_OnForwardingInProgress(swigCPtr, proxyIPAddress, proxyPort, SystemAddress.getCPtr(proxyCoordinator), SystemAddress.getCPtr(sourceAddress), SystemAddress.getCPtr(targetAddress), RakNetGUID.getCPtr(targetGuid), UDPProxyClient.getCPtr(proxyClientPlugin));
     if (RakNetPINVOKE.SWIGPendingException.Pending)
     {
         throw RakNetPINVOKE.SWIGPendingException.Retrieve();
     }
 }
Пример #8
0
 public virtual void OnAllServersBusy(SystemAddress proxyCoordinator, SystemAddress sourceAddress, SystemAddress targetAddress, RakNetGUID targetGuid, UDPProxyClient proxyClientPlugin)
 {
     RakNetPINVOKE.CSharp_RakNet_UDPProxyClientResultHandler_OnAllServersBusy(swigCPtr, SystemAddress.getCPtr(proxyCoordinator), SystemAddress.getCPtr(sourceAddress), SystemAddress.getCPtr(targetAddress), RakNetGUID.getCPtr(targetGuid), UDPProxyClient.getCPtr(proxyClientPlugin));
     if (RakNetPINVOKE.SWIGPendingException.Pending)
     {
         throw RakNetPINVOKE.SWIGPendingException.Retrieve();
     }
 }
Пример #9
0
 public static void DestroyInstance(UDPProxyClient i)
 {
     RakNetPINVOKE.CSharp_RakNet_UDPProxyClient_DestroyInstance(UDPProxyClient.getCPtr(i));
 }
Пример #10
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(UDPProxyClient obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }