Files
plugin-library/Assets/00.StaryEvo/Runtime/UnitySocket/SocketClient/Scripts/SocketServerMain.cs

41 lines
1.3 KiB
C#
Raw Normal View History

2025-09-04 11:43:35 +08:00
using System.Text;
2025-07-02 10:05:26 +08:00
using UnityEngine;
public class SocketServerMain : MonoBehaviour
{
2025-09-04 11:43:35 +08:00
private SocketServer _server;
2025-07-02 10:05:26 +08:00
private void Awake()
{
_server = new SocketServer("192.168.31.67", 6854);
_server.OnReceive += (client, data) =>
{
2025-09-04 11:43:35 +08:00
Debug.LogFormat("[{0}]接收到数据>>>{1} {2}", client.LocalEndPoint, (SocketEvent)data.Type, data.Buff.Length);
2025-07-02 10:05:26 +08:00
switch ((SocketEvent)data.Type)
{
case SocketEvent.ScTest:
2025-09-04 11:43:35 +08:00
Debug.LogFormat("接收到测试数据 >>> {0}", Encoding.UTF8.GetString(data.Data));
break;
case SocketEvent.ClientDisconn:
Debug.LogFormat("客户端断开连接 >>> {0}", client.LocalEndPoint);
2025-07-02 10:05:26 +08:00
break;
}
};
}
2025-09-04 11:43:35 +08:00
2025-07-02 10:05:26 +08:00
private void Update()
{
if (Input.GetKeyDown(KeyCode.A))
// 踢出连接
foreach (var item in _server.ClientInfoDic.Keys)
_server.KickOutAll();
}
2025-09-04 11:43:35 +08:00
2025-07-02 10:05:26 +08:00
private void OnDestroy()
{
// 注意由于Unity编译器环境下游戏开启/关闭只影响主线程的开关游戏关闭回调时需要通过Close函数来关闭服务端/客户端的线程。
2025-09-04 11:43:35 +08:00
if (_server != null) _server.Close();
2025-07-02 10:05:26 +08:00
}
2025-09-04 11:43:35 +08:00
}