Lite reliable UDP library for .NET Framework 4.7.1, Mono, .NET Core 2.1, .NET Standard 2.0.
OLD BRANCH (and examples) for 0.9.x
( Warning! Master branch can be unstable! )
https://www.buymeacoffee.com/revx
EventBasedNetListener listener = new EventBasedNetListener();
NetManager client = new NetManager(listener);
client.Start();
client.Connect("localhost" /* host ip or name */, 9050 /* port */, "SomeConnectionKey" /* text key or NetDataWriter */);
listener.NetworkReceiveEvent += (fromPeer, dataReader, deliveryMethod) =>
{
Console.WriteLine("We got: {0}", dataReader.GetString(100 /* max length of string */));
dataReader.Recycle();
};
while (!Console.KeyAvailable)
{
client.PollEvents();
Thread.Sleep(15);
}
client.Stop();
EventBasedNetListener listener = new EventBasedNetListener();
NetManager server = new NetManager(listener);
server.Start(9050 /* port */);
listener.ConnectionRequestEvent += request =>
{
if(server.ConnectedPeersCount < 10 /* max connections */)
request.AcceptIfKey("SomeConnectionKey");
else
request.Reject();
};
listener.PeerConnectedEvent += peer =>
{
Console.WriteLine("We got connection: {0}", peer.EndPoint); // Show peer ip
NetDataWriter writer = new NetDataWriter(); // Create writer class
writer.Put("Hello client!"); // Put some string
peer.Send(writer, DeliveryMethod.ReliableOrdered); // Send with reliability
};
while (!Console.KeyAvailable)
{
server.PollEvents();
Thread.Sleep(15);
}
server.Stop();
服务器端代码 public static NetManager server; private async void IniServer(int port) { EventBasedNetListener listener = new EventBasedNetListener(); server = new NetM
服务端代码: using LiteNetLib; using LiteNetLib.Utils; using System; using System.Threading; namespace LiteNetLibServer { class Program { static void Main(string[] args) {
https://github.com/MirrorNetworking/LiteNetLibTransport/ 基于 LiteNetLib 的Mirro传输。 使用方法 从 Releases 下载Unity package并将其导入您的项目(它不包含 Mirror) 使用 NetworkManager 将 LiteNetLibTransport 组件放在游戏对象上并将其分配到那里 特点介绍 UD