hand
_1_7_101
4
返回栏目
1k
0.2k
0.5k
0.1k
0k
0.2k
0k
0.7k
0k
0k
0.4k
0.1k
4k
0.2k
0.1k
2k
0.2k
0.2k
0k
0k
0.5k
0k
0.9k
0.1k
1k
0.9k
2k
1k
2k
0.9k
1k
0k
1k
0k
1k
1k
1k
1k
0k
1k
1k
1k
0k
3k
1k
0k
0.3k
1k
0.3k
0.9k
0k
8k
9k
6k
2k
1k
2k
1k
1k
2k
0.6k
1k
0.6k
1k
0.5k
0.2k
2k
2k
2k
1k
2k
0k
0.8k
0.8k
1k
0k
0k
0k
0k
0k
0k
0k
0k
0.3k
0.4k
0.8k
0.3k
5k
1k
3k
7k
6k
3k
3k
1k
0.2k
2k
3k
2k
0.4k
0.5k
3k
2k
7k
3k
4k
2k
1k
6k
6k
1k
1k
0.9k
0.2k
0.3k
0.9k
1k
0k
0.8k
2k
0k
0.4k
0.1k
1k
0.9k
0.2k
1k
1k
0.5k
0k
0k
0.4k
4k
0.4k
2k
3k
1k
1k
1k
3k
5k
0k
1k
2k
0.5k
0k
1k
0k
1k
0.5k
0.8k
返回Unity - 游戏引擎栏目
作者:
贺及楼
成为作者
更新日期:2023-09-17 10:58:34
/// <summary>
/// 这个是用来管理跟服务器端的Socket连接
/// </summary>
public class ClientManager :BaseManager {
private const string IP = "127.0.0.1";
private const int PORT = 6688;
private Socket clientSocket;
//实例化信息
private Message msg = new Message();
public ClientManager(GameFacade facade) : base(facade) { }
//连接服务器
public override void OnInit(){}
//监听
private void Start(){}
//接收数据
private void ReceiveCallback(IAsyncResult ar){}
private void OnProcessDataCallback(动作码,数据){}
//发送请求
public void SendRequest(请求码,动作码,数据){}
//关闭游戏
public override void OnDestroy(){}
/// <summary>
/// 这个是用来管理跟服务器端的Socket连接
/// </summary>
public class ClientManager :BaseManager {
private const string IP = "127.0.0.1";
private const int PORT = 6688;
private Socket clientSocket;
//实例化信息
private Message msg = new Message();
public ClientManager(GameFacade facade) : base(facade) { }
//连接服务器
public override void OnInit(){}
//监听
private void Start(){}
//接收数据
private void ReceiveCallback(IAsyncResult ar){}
private void OnProcessDataCallback(ActionCode actionCode,string data){}
//发送请求
public void SendRequest(RequestCode requestCode, ActionCode actionCode, string data){}
//关闭游戏
public override void OnDestroy(){}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net.Sockets;
using System;
using Common;
/// <summary>
/// 这个是用来管理跟服务器端的Socket连接
/// </summary>
public class ClientManager :BaseManager {
private const string IP = "127.0.0.1";
private const int PORT = 6688;
private Socket clientSocket;
//实例化信息
private Message msg = new Message();
public ClientManager(GameFacade facade) : base(facade) { }
//连接服务器
public override void OnInit()
{
base.OnInit();
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
clientSocket.Connect(IP, PORT);
Start();
}
catch (Exception e)
{
Debug.LogWarning("无法连接到服务器端,请检查您的网络!!" + e);
}
}
//监听
private void Start()
{
clientSocket.BeginReceive(msg.Data,msg.StartIndex,msg.RemainSize, SocketFlags.None, ReceiveCallback, null);
}
//接收数据
private void ReceiveCallback(IAsyncResult ar)
{
try
{
if (clientSocket == null || clientSocket.Connected == false) return;
int count = clientSocket.EndReceive(ar);
msg.ReadMessage(count, OnProcessDataCallback);
Start();
}
catch(Exception e)
{
Debug.Log(e);
}
}
private void OnProcessDataCallback(ActionCode actionCode,string data)
{
facade.HandleReponse(actionCode, data);
}
//发送请求
public void SendRequest(RequestCode requestCode, ActionCode actionCode, string data)
{
byte[] bytes = Message.PackData(requestCode, actionCode, data);
clientSocket.Send(bytes);
}
//关闭游戏
public override void OnDestroy()
{
base.OnDestroy();
try
{
clientSocket.Close();
}catch(Exception e)
{
Debug.LogWarning("无法关闭跟服务器端的连接!!" + e);
}
}
}
Unity - 游戏引擎
整章节共151节
快分享给你的小伙伴吧 ~