RevenantX/LiteNetLib

[Question] How do I send data from client to server

kudorgyozo opened this issue · 1 comments

Hi, I started with the example client and server andmodified the client to send a response back to the server... which never arrives. What am I doing wrong? How do I do this?

Server:

using LiteNetLib;
using LiteNetLib.Utils;

Console.WriteLine("=== Server ===");
EventBasedNetListener listener = new EventBasedNetListener();
NetManager server = new NetManager(listener);
server.Start(9050);

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
};

listener.NetworkReceiveEvent += (fromPeer, dataReader, deliveryMethod) => {
    Console.WriteLine("We got: {0}", dataReader.GetString(100 /* max length of string */));
    dataReader.Recycle();
};

while (!Console.KeyAvailable) {
    server.PollEvents();
    Thread.Sleep(15);
}

server.Stop();

Client:

using LiteNetLib;
using LiteNetLib.Utils;

Console.WriteLine("=== Client ===");
EventBasedNetListener listener = new EventBasedNetListener();
NetManager client = new NetManager(listener);
client.Start();
var serverPeer = client.Connect("localhost", 9050, "SomeConnectionKey");

listener.NetworkReceiveEvent += (fromPeer, dataReader, deliveryMethod) => {
    Console.WriteLine("We got: {0}", dataReader.GetString(100 /* max length of string */));
    dataReader.Recycle();
};

NetDataWriter writer = new NetDataWriter();                 // Create writer class
writer.Put("Hello server!");                                // Put some string
serverPeer.Send(writer, DeliveryMethod.ReliableOrdered);    // Send with reliability

while (!Console.KeyAvailable) {
    client.PollEvents();
    Thread.Sleep(15);
}

client.Stop();

Client:

for questions please use discord: https://discord.gg/FATFPdy