Unity Game FrameWork—模块使用—Web请求

官方说明:提供使用短连接的功能,可以用 Get 或者 Post 方法向服务器发送请求并获取响应数据,可指定允许几个 Web 请求器进行同时请求。
web请求内容不多,为了专栏完整性,简要说明一下。
Web 请求组件WebRequestComponent的public方法可获取代理相关信息,添加web请求任务,以及三个事件(开始请求、请求成功、请求失败)。
使用也很简单,增加请求,通过事件获取返回信息,下面贴上代码:

using System;
using GameFramework;
using UnityGameFramework.Runtime;
using GameFramework.Event;
using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;

namespace StarForce
{
    
    
        public class ProcedureWeb : ProcedureBase
        {
    
    
	        public override bool UseNativeDialog => throw new NotImplementedException();
	
	        public override void OnEnter(ProcedureOwner procedureOwner)
	        {
    
    
	        	base.OnEnter(procedureOwner);
	        	GameEntry.Event.Subscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess);
	        	GameEntry.Event.Subscribe(WebRequestFailureEventArgs.EventId, OnWebRequestFailure);
	        	string url = "https://blog.csdn.net/qq_37619255?type=blog";
	        	GameEntry.WebRequest.AddWebRequest(url, this);
	        }
			public override void OnLeave(ProcedureOwner procedureOwner,bool isShutdown)
			{
    
    
				base.OnLeave(procedureOwner, isShutdown);
				GameEntry.Event.Unsubscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess);
				GameEntry.Event.Unsubscribe(WebRequestFailureEventArgs.EventId, OnWebRequestFailure);
			}
            private void OnWebRequestSuccess(object sender, GameEventArgs e)
            {
    
    
	            WebRequestSuccessEventArgs ne = (WebRequestSuccessEventArgs)e;
	            // 获取回应的数据
	            string responseJson = Utility.Converter.GetString(ne.GetWebResponseBytes());
	            Log.Debug("responseJson:" + responseJson);
            }
            private void OnWebRequestFailure(object sender, GameEventArgs e)
            {
    
    
            	Log.Warning("请求失败");
            }
        }
}

猜你喜欢

转载自blog.csdn.net/qq_37619255/article/details/129984477
今日推荐