网络通信

using System.IO;
using UnityEngine;
using UNIHper;

public class SceneEntryScript : SceneScriptBase
{
    // Called once after scene is loaded
    private void Start()
    {
        // 开启一个 TCP server
        Managements.Network
            .BuildTcpListener("127.0.0.1", 6666, new StringMsgReceiver())
            .Listen()
            .OnReceived(
                (_netMessage, _socket) =>
                {
                    var _msg = _netMessage.Message as NetStringMessage;
                    Debug.LogFormat("Received: {0}", _msg.Content);
                    (_socket as UTcpServer).Send2Client(_msg.Content, _msg.RemoteKey);
                }
            );

        // 开启一个TCP client
        Managements.Network
            .BuildTcpClient("127.0.0.1", 7777, new StringMsgReceiver())
            .Connect()
            .OnReceived(
                (_netMessage, _socket) =>
                {
                    var _msg = _netMessage.Message as NetStringMessage;
                    Debug.LogFormat("Received: {0}", _msg.Content);
                    (_socket as UTcpClient).Send2Server(_msg.Content);
                }
            );

        // 开启一个 UDP Listener
        Managements.Network
            .BuildUdpListener("127.0.0.1", 8888, new StringMsgReceiver())
            .Listen()
            .OnReceived(
                (_netMessage, _socket) =>
                {
                    var _msg = _netMessage.Message as NetStringMessage;
                    Debug.LogFormat("Received: {0}", _msg.Content);
                    (_socket as UUdpClient).SendTo(_msg.Content, _msg.RemoteIP, _msg.RemotePort);
                }
            );

        // 开启一个UDP Client
        (
            Managements.Network
                .BuildUdpClient("127.0.0.1", 9999, new StringMsgReceiver())
                .Connect()
                .OnReceived(
                    (_netMessage, _socket) =>
                    {
                        var _msg = _netMessage.Message as NetStringMessage;
                        Debug.LogFormat("Received: {0}", _msg.Content);
                        (_socket as UUdpClient).SendTo(
                            _msg.Content,
                            _msg.RemoteIP,
                            _msg.RemotePort
                        );
                    }
                ) as UUdpClient
        ).Send("hello world".ToUTF8Bytes());
    }

    private void OnDestroy()
    {
        Managements.Network.Dispose();
    }
}

Last updated