50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using Mistox;
|
|
using Mistox.Client;
|
|
|
|
class clientExample {
|
|
|
|
public MistoxClient? clientObject;
|
|
|
|
void onServerConnected() {
|
|
Console.WriteLine("Connected to server sucessfully");
|
|
}
|
|
|
|
void onClientConnected(mUDPClient user) {
|
|
Console.WriteLine("User connected with username: " + user.UserName);
|
|
}
|
|
|
|
void onReceive(mUDPClient? user, dynamic data) {
|
|
switch (data){
|
|
case MessagePacket packet:
|
|
if (user == null) {
|
|
Console.WriteLine($"MSG From [Serverx]: {packet.Data}");
|
|
} else {
|
|
Console.WriteLine($"MSG From [{user.UserName}]: {packet.Data}");
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void onClientDisconnected(mUDPClient user) {
|
|
Console.WriteLine("User disconnected with username: " + user.UserName);
|
|
}
|
|
|
|
void onServerDisconnected() {
|
|
Console.WriteLine("Disconnected from server");
|
|
}
|
|
|
|
public async Task StartClient(string userName, string host, int port, string password) {
|
|
clientObject = GameServer.newClient(userName, host, port, password);
|
|
if (clientObject == null) return;
|
|
clientObject.onServerConnected += onServerConnected;
|
|
clientObject.onUserConnected += onClientConnected;
|
|
clientObject.onDataReceived += onReceive;
|
|
clientObject.onUserDisconnected += onClientDisconnected;
|
|
clientObject.onServerDisconnected += onServerDisconnected;
|
|
}
|
|
|
|
} |