Skip to content

kstzl/UrsinaNetworking

Repository files navigation

A Event-Based, high level API for networking !

Installation

pip install ursinanetworking

Creating a server

from ursinanetworking import *

Server = UrsinaNetworkingServer("localhost", 25565)

Creating a client

from ursinanetworking import *

Client = UrsinaNetworkingClient("localhost", 25565)

Built-in Server Events

@Server.event
def onClientConnected(Client):
    print(f"{Client} connected !")

@Server.event
def onClientDisconnected(Client):
    print(f"{Client} disconnected !")

Built-in Client Events

@Client.event
def onConnectionEstablished():
    print("I'm connected to the server !")

@Client.event
def onConnectionError(Reason):
    print(f"Error ! Reason : {Reason}")

Server to Client

Server :

from ursinanetworking import *

Server = UrsinaNetworkingServer("localhost", 25565)

@Server.event
def onClientConnected(Client):
    Client.send_message("HelloFromServer", f"Hello {Client} how are you ?! :D")

while True:
    Server.process_net_events()

Client :

from ursinanetworking import *

Client = UrsinaNetworkingClient("localhost", 25565)

@Client.event
def HelloFromServer(Content):
    print(f"Server says : {Content}")

while True:
    Client.process_net_events()

Client to Server

Client :

from ursinanetworking import *

Client = UrsinaNetworkingClient("localhost", 25565)

@Client.event
def onConnectionEtablished():
    Client.send_message("HelloFromClient", "Hello, how are you ?")

while True:
    Client.process_net_events()

Server :

from ursinanetworking import *

Server = UrsinaNetworkingServer("localhost", 25565)

@Server.event
def HelloFromClient(Client, Content):
    print(f"{Client} says : {Content}")

while True:
    Server.process_net_events()

Broadcasting

from ursinanetworking import *

Server = UrsinaNetworkingClient("localhost", 25565)
Server.broadcast("HelloFromServer", "blabla")

while True:
    Server.process_net_events()

Sending a file

Server :

from ursinanetworking import *

Server = UrsinaNetworkingServer("localhost", 25565)

@Server.event
def onClientConnected(Client):
    Client.send_message("receiveFile", ursina_networking_encode_file("my_image.png"))

Client :

from ursinanetworking import *

Client = UrsinaNetworkingClient("localhost", 25565)

@Client.event
def receiveFile(Content):
    f = open("receveid_image.png", "wb")
    f.write(ursina_networking_decompress_file(Content))
    f.close()

About

A High level api to do networking with the Ursina Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •