Compare commits
2
Commits
068c88de4b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7581fbdeb | ||
|
|
c8a0aef289 |
No files matched your search
+12
-2
@@ -12,7 +12,11 @@ class clientExample {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void onClientConnected(mUDPClient user) {
|
void onClientConnected(mUDPClient user) {
|
||||||
Console.WriteLine("User connected with username: " + user.UserName);
|
Console.WriteLine("User connected to server with username: " + user.UserName);
|
||||||
|
}
|
||||||
|
|
||||||
|
void onClientJoined(mUDPClient user) {
|
||||||
|
Console.WriteLine("User is now in range of you and UDP connections started with user : " + user.UserName);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onReceive(mUDPClient? user, dynamic data) {
|
void onReceive(mUDPClient? user, dynamic data) {
|
||||||
@@ -29,8 +33,12 @@ class clientExample {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onClientLeft(mUDPClient user) {
|
||||||
|
Console.WriteLine("User is no longer in range of you and UDP connections ended with user : " + user.UserName);
|
||||||
|
}
|
||||||
|
|
||||||
void onClientDisconnected(mUDPClient user) {
|
void onClientDisconnected(mUDPClient user) {
|
||||||
Console.WriteLine("User disconnected with username: " + user.UserName);
|
Console.WriteLine("User disconnected from server with username: " + user.UserName);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onServerDisconnected() {
|
void onServerDisconnected() {
|
||||||
@@ -42,7 +50,9 @@ class clientExample {
|
|||||||
if (clientObject == null) return;
|
if (clientObject == null) return;
|
||||||
clientObject.onServerConnected += onServerConnected;
|
clientObject.onServerConnected += onServerConnected;
|
||||||
clientObject.onUserConnected += onClientConnected;
|
clientObject.onUserConnected += onClientConnected;
|
||||||
|
clientObject.onUserJoined += onClientJoined;
|
||||||
clientObject.onDataReceived += onReceive;
|
clientObject.onDataReceived += onReceive;
|
||||||
|
clientObject.onUserLeft += onClientLeft;
|
||||||
clientObject.onUserDisconnected += onClientDisconnected;
|
clientObject.onUserDisconnected += onClientDisconnected;
|
||||||
clientObject.onServerDisconnected += onServerDisconnected;
|
clientObject.onServerDisconnected += onServerDisconnected;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,14 +36,6 @@ namespace Mistox.Client {
|
|||||||
UserName = userName;
|
UserName = userName;
|
||||||
ConnectionKey = connectionKey;
|
ConnectionKey = connectionKey;
|
||||||
|
|
||||||
onServerConnected += () => {};
|
|
||||||
onUserConnected += (_) => {};
|
|
||||||
onUserJoined += (_) => {};
|
|
||||||
onDataReceived += (_,_) => {};
|
|
||||||
onUserLeft += (_) => {};
|
|
||||||
onUserDisconnected += (_) => {};
|
|
||||||
onServerDisconnected += () => {};
|
|
||||||
|
|
||||||
// Create and connect to server on TCP
|
// Create and connect to server on TCP
|
||||||
Console.WriteLine( "The client is initilized and trying to connect to the server at ip : " + Server.Address );
|
Console.WriteLine( "The client is initilized and trying to connect to the server at ip : " + Server.Address );
|
||||||
try {
|
try {
|
||||||
@@ -95,13 +87,17 @@ namespace Mistox.Client {
|
|||||||
if (!clientConnections.ContainsKey(remoteHost)) {
|
if (!clientConnections.ContainsKey(remoteHost)) {
|
||||||
mUDPClient newConnection = new mUDPClient(this, remoteHost);
|
mUDPClient newConnection = new mUDPClient(this, remoteHost);
|
||||||
clientConnections[remoteHost] = newConnection;
|
clientConnections[remoteHost] = newConnection;
|
||||||
|
InvokeOnUserJoined(newConnection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove users that left
|
// Remove users that left
|
||||||
foreach (IPEndPoint key in clientConnections.Keys) {
|
foreach (IPEndPoint key in clientConnections.Keys) {
|
||||||
if (!activeIps.Contains(key.Address)) {
|
if (!activeIps.Contains(key.Address)) {
|
||||||
clientConnections.TryRemove(key, out _);
|
mUDPClient? user;
|
||||||
|
clientConnections.TryRemove(key, out user);
|
||||||
|
if (user == null) return;
|
||||||
|
InvokeOnUserLeft(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +139,7 @@ namespace Mistox.Client {
|
|||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
|
|
||||||
// When (self) connects to the server
|
// When (self) connects to the server
|
||||||
public event Action onServerConnected;
|
public event Action? onServerConnected;
|
||||||
public void InvokeOnServerConnected(){
|
public void InvokeOnServerConnected(){
|
||||||
Alive = true;
|
Alive = true;
|
||||||
Task.Run(async () => {
|
Task.Run(async () => {
|
||||||
@@ -155,19 +151,19 @@ namespace Mistox.Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// When any user connects to the server (self) hasn't seen yet
|
// When any user connects to the server (self) hasn't seen yet
|
||||||
public event Action<string> onUserJoined;
|
public event Action<mUDPClient>? onUserJoined;
|
||||||
public void InvokeOnUserJoined(string UserName){
|
public void InvokeOnUserJoined(mUDPClient User){
|
||||||
onUserJoined?.Invoke(UserName);
|
onUserJoined?.Invoke(User);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When user is within range of (self) and network rendering starts
|
// When user is within range of (self) and network rendering starts
|
||||||
public event Action<mUDPClient> onUserConnected;
|
public event Action<mUDPClient>? onUserConnected;
|
||||||
public void InvokeOnUserConnected(mUDPClient ConnectedUser){
|
public void InvokeOnUserConnected(mUDPClient User){
|
||||||
onUserConnected?.Invoke(ConnectedUser);
|
onUserConnected?.Invoke(User);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When generic data is received
|
// When generic data is received
|
||||||
public event Action<mUDPClient?, dynamic> onDataReceived;
|
public event Action<mUDPClient?, dynamic>? onDataReceived;
|
||||||
public void InvokeOnReceived(dynamic DataPacket, mUDPClient? remote = null){
|
public void InvokeOnReceived(dynamic DataPacket, mUDPClient? remote = null){
|
||||||
switch (DataPacket as object) {
|
switch (DataPacket as object) {
|
||||||
case HeartbeatPacket packet:
|
case HeartbeatPacket packet:
|
||||||
@@ -188,19 +184,19 @@ namespace Mistox.Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// When user is no longer in range of (self) and network rendering stops
|
// When user is no longer in range of (self) and network rendering stops
|
||||||
public event Action<mUDPClient> onUserDisconnected;
|
public event Action<mUDPClient>? onUserDisconnected;
|
||||||
public void InvokeOnUserDisconnected(mUDPClient DisconnectedUser){
|
public void InvokeOnUserDisconnected(mUDPClient User){
|
||||||
onUserDisconnected?.Invoke(DisconnectedUser);
|
onUserDisconnected?.Invoke(User);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When any user disconnects from the server that isn't (self)
|
// When any user disconnects from the server that isn't (self)
|
||||||
public event Action<string> onUserLeft;
|
public event Action<mUDPClient>? onUserLeft;
|
||||||
public void InvokeOnUserLeft(string UserName){
|
public void InvokeOnUserLeft(mUDPClient User){
|
||||||
onUserLeft?.Invoke(UserName);
|
onUserLeft?.Invoke(User);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When (self) disconnects to the server
|
// When (self) disconnects to the server
|
||||||
public event Action onServerDisconnected;
|
public event Action? onServerDisconnected;
|
||||||
public void InvokeOnServerDisconnected(){
|
public void InvokeOnServerDisconnected(){
|
||||||
Alive = false;
|
Alive = false;
|
||||||
onServerDisconnected?.Invoke();
|
onServerDisconnected?.Invoke();
|
||||||
|
|||||||
@@ -22,9 +22,6 @@ namespace Mistox.Server {
|
|||||||
public MistoxServer(IPEndPoint ListenerAddress, string serverName) {
|
public MistoxServer(IPEndPoint ListenerAddress, string serverName) {
|
||||||
ServerName = serverName;
|
ServerName = serverName;
|
||||||
Listener = new ServerListener(ListenerAddress, this);
|
Listener = new ServerListener(ListenerAddress, this);
|
||||||
onUserConnected += (_) => {};
|
|
||||||
onDataReceived += (_, _) => {};
|
|
||||||
onUserDisconnected += (_) => {};
|
|
||||||
Console.WriteLine( "The Server is initilized and waiting for clients to connect at port : " + ListenerAddress.Port );
|
Console.WriteLine( "The Server is initilized and waiting for clients to connect at port : " + ListenerAddress.Port );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,13 +72,13 @@ namespace Mistox.Server {
|
|||||||
// Events
|
// Events
|
||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
|
|
||||||
public event Action<ServerConnection> onUserConnected;
|
public event Action<ServerConnection>? onUserConnected;
|
||||||
public void InvokeUserConnected( ServerConnection user ){
|
public void InvokeUserConnected( ServerConnection user ){
|
||||||
Connections[user.UserName] = user;
|
Connections[user.UserName] = user;
|
||||||
onUserConnected?.Invoke( user );
|
onUserConnected?.Invoke( user );
|
||||||
}
|
}
|
||||||
|
|
||||||
public event Action<ServerConnection, object> onDataReceived;
|
public event Action<ServerConnection, object>? onDataReceived;
|
||||||
public void InvokeDataReceived( ServerConnection user, dynamic data ){
|
public void InvokeDataReceived( ServerConnection user, dynamic data ){
|
||||||
switch (data) {
|
switch (data) {
|
||||||
case UserAuthPacket packet when !user.IsAuthenticated:
|
case UserAuthPacket packet when !user.IsAuthenticated:
|
||||||
@@ -104,7 +101,7 @@ namespace Mistox.Server {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public event Action<ServerConnection> onUserDisconnected;
|
public event Action<ServerConnection>? onUserDisconnected;
|
||||||
public void InvokeUserDisconnected( ServerConnection user ){
|
public void InvokeUserDisconnected( ServerConnection user ){
|
||||||
Connections.Remove(user.UserName, out _);
|
Connections.Remove(user.UserName, out _);
|
||||||
onUserDisconnected?.Invoke( user );
|
onUserDisconnected?.Invoke( user );
|
||||||
|
|||||||
Reference in new issue
Block a user