using System.Net; using TEngine.Runtime; using TEngine.Runtime.UIModule; using TEngineProto; using UnityEngine; public class NetTestMain : MonoBehaviour { public const string MainTcp = "MainTcp"; void Start() { //Demo示例,监听TEngine流程加载器OnStartGame事件 //抛出这个事件说明框架流程加载完成(热更新,初始化等) GameEventMgr.Instance.AddEventListener(TEngineEvent.OnStartGame,OnStartGame); } /// /// NetworkChannel通信Channel /// private INetworkChannel _networkChannel; /// /// OnStartGame /// private void OnStartGame() { Log.Debug("TEngineEvent.OnStartGame"); //创建网络Channel Service类型 Tcp _networkChannel = TEngine.Runtime.Network.Instance.CreateNetworkChannel(MainTcp, ServiceType.Tcp, new NetworkChannelHelper()); //连接Channel 本地8081 需要开启服务器 _networkChannel.Connect(IPAddress.Parse("127.0.0.1"),8081); //注册消息包回调 ActionCode.Login -> Action Login TEngine.Runtime.Network.Instance.RegisterHandler(MainTcp,(int)ActionCode.Login,Login); } /// /// 测试发送消息包,需要开启服务器 /// private void Update() { if (Input.GetKeyDown(KeyCode.K)) { var a = MemoryPool.Acquire(); a.actioncode = ActionCode.Login; a.requestcode = RequestCode.User; a.loginPack = new LoginPack(); a.loginPack.username = "1111"; a.loginPack.password = "2222"; TEngine.Runtime.Network.Instance.Send(MainTcp, a); } } /// /// Login消息回调 /// /// 消息包 private void Login(MainPack mainPack) { Log.Debug(mainPack.extstr); } }