Skip to content

Instantly share code, notes, and snippets.

@EddieAbbondanzio
Last active November 14, 2019 02:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EddieAbbondanzio/0344b09faaadf5b6adea3ec91c7efebf to your computer and use it in GitHub Desktop.
Save EddieAbbondanzio/0344b09faaadf5b6adea3ec91c7efebf to your computer and use it in GitHub Desktop.
litenetlib-sending-data
using System;
using System.Collections;
using System.Collections.Generic;
using LiteNetLib;
using LiteNetLib.Utils;
using UnityEngine;
public class Client : MonoBehaviour {
EventBasedNetListener netListener;
NetManager netManager;
NetPacketProcessor netPacketProcessor;
void Start() {
netListener = new EventBasedNetListener();
netPacketProcessor = new NetPacketProcessor();
netListener.PeerConnectedEvent += (server) => {
Debug.LogError($"Connected to server: {server}");
};
netListener.NetworkReceiveEvent += (server, reader, deliveryMethod) => {
netPacketProcessor.ReadAllPackets(reader, server);
};
netPacketProcessor.SubscribeReusable<FooPacket>((packet) => {
Debug.Log("Got a foo packet!");
Debug.Log(packet.NumberValue);
});
netManager = new NetManager(netListener);
netManager.Start();
netManager.Connect("localhost", 9050, "SECRET_KEY");
}
// Update is called once per frame
void Update() {
netManager.PollEvents();
}
}
public class FooPacket {
public int NumberValue { get; set; }
public string StringValue { get; set; }
}
using System.Collections;
using System.Collections.Generic;
using LiteNetLib;
using LiteNetLib.Utils;
using UnityEngine;
public class Server : MonoBehaviour {
EventBasedNetListener netListener;
NetManager netManager;
NetPacketProcessor netProcessor;
// Start is called before the first frame update
void Start() {
netListener = new EventBasedNetListener();
netManager = new NetManager(netListener);
netProcessor = new NetPacketProcessor();
netManager.Start(9050);
netListener.ConnectionRequestEvent += (request) => {
request.Accept();
};
netListener.PeerConnectedEvent += (client) => {
Debug.LogError($"Client connected: {client}");
netProcessor.Send(client, new FooPacket() { NumberValue = 1, StringValue = "Test" }, DeliveryMethod.ReliableOrdered);
};
}
// Update is called once per frame
void Update() {
netManager.PollEvents();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment