All Projects → Zwork101 → quick-net

Zwork101 / quick-net

Licence: MIT license
This is a top level socket library, making servers and clients EASY!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to quick-net

Nclib
Netcat as a python library
Stars: ✭ 51 (+240%)
Mutual labels:  socket, easy-to-use
Ether.network
https://github.com/Eastrall/Sylver
Stars: ✭ 147 (+880%)
Mutual labels:  socket, easy-to-use
LiteNetwork
A simple and fast .NET networking library compatible with .NET Standard 2, .NET 5, 6 and 7.
Stars: ✭ 66 (+340%)
Mutual labels:  socket, easy-to-use
video-chat
Simple Web Application that offer you to create video meeting room using WebRTC and Socket.
Stars: ✭ 32 (+113.33%)
Mutual labels:  socket
DM-BOT
📧 DM-BOT is discord bot that can record direct messages. One of us! You can also reply to those messages! DM-BOT is easy to use & understand! I decided to use Discord.js, it's literally the best.
Stars: ✭ 31 (+106.67%)
Mutual labels:  easy-to-use
TCP-IP-NP
《TCP/IP网络编程》((韩)尹圣雨) 学习笔记
Stars: ✭ 66 (+340%)
Mutual labels:  socket
ws2s
ws2s(websocket to socket)--bring socket to browser-side js.
Stars: ✭ 50 (+233.33%)
Mutual labels:  socket
SocketIOUnity
A Wrapper for socket.io-client-csharp to work with Unity.
Stars: ✭ 69 (+360%)
Mutual labels:  socket
asynchronous
A D port of Python's asyncio library
Stars: ✭ 35 (+133.33%)
Mutual labels:  socket
TweetMigration
A WebGL heatmap of global Twitter activity
Stars: ✭ 42 (+180%)
Mutual labels:  socket
LittleDrawBoard AN
基于socket实现的pc端和android端同步绘画板_ANDROID源码
Stars: ✭ 30 (+100%)
Mutual labels:  socket
Socketify
Raw TCP and UDP Sockets API on Desktop Browsers
Stars: ✭ 67 (+346.67%)
Mutual labels:  socket
react-webrtc-chat
React WebRTC chat
Stars: ✭ 39 (+160%)
Mutual labels:  socket
freebind
IPv4 and IPv6 address rate limiting evasion tool
Stars: ✭ 88 (+486.67%)
Mutual labels:  socket
killswitch-windows
VPN kill switch for windows.
Stars: ✭ 22 (+46.67%)
Mutual labels:  easy-to-use
HiFramework.Unity
Based on component to manage project's core logic and module used in unity3d
Stars: ✭ 22 (+46.67%)
Mutual labels:  socket
bulk-email-sender
Send Templatized Dynamic Emails Automatically
Stars: ✭ 30 (+100%)
Mutual labels:  easy-to-use
CSSTrackr
User tracking system without javascript designed to work as a plug-and-play css file.
Stars: ✭ 13 (-13.33%)
Mutual labels:  easy-to-use
MOE
MOE is an event-driven OS for 8/16/32-bit MCUs. MOE means "Minds Of Embedded system", It’s also the name of my lovely baby daughter 😎
Stars: ✭ 54 (+260%)
Mutual labels:  easy-to-use
DatagramTunneler
Simple C++ cross-platform client/server app forwarding UDP datagrams through a TCP connection.
Stars: ✭ 116 (+673.33%)
Mutual labels:  socket

quick-net

Sockets don't have to be a pain

That's the motto this library was built with, and that's exactly what we made! This is a top-level socket library, great for games, chat, or anything networking in general!

How to install

As of now, this repo doesn't have a setup.py (which will be added later), however it's easy enough to make one yourself. But to make it easy, it's also on pip

pip install quick-connect  # pip3 on linux machines.

And please, don't get confused by the installation name, you import it as so:

import quicknet

How to use

quick-connect is event based. That means, you can register handlers for when you receive a certain input. For example, let's say I wanted my client, to print the welcome message from the server. I might do something like this in my client program:

@client.on("WELCOME")
def welcome_msg(message):
    print("SERVER:", message)

The first line, basicly adds the function to the client, so the client can run it when it receives that event from the server. The second line declares the function, which accepts a message (possitional arguemnt) from the server. The last line prints it out. Now, on the server side, how might we invoke this? Well, we have 2 ways, the first way, is to get the client object, and emit that message to it.

joined_client.emit("WELCOME", "Welcome to my awesome game!")

However, let's say you wanted to tell every client, a player joined. Then you can use the broadcast function.

server.broadcast("WELCOME", "Player {name} just joined the party!".format(name="Joe"))

Docs

See the github wiki on this repo for the docs, which has the API, and more details, such as how to communicate to a server using quick-connect, without quick-connect.

Design

flowchart Enough said.

Credits

This was made by Nathan Zilora, also on discord known as Zwack010#5682 This project is registered in the MIT licesnse, so make sure to include the license, if using this project directly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].