Skip to content
This repository has been archived by the owner on Dec 24, 2023. It is now read-only.

Deftu/QuickSocket

Repository files navigation

QuickSocket

Quick and easy WebSocket implementation.
Report a bug · Request a feature

Examples

Java

Packets
import com.google.gson.JsonObject;
import xyz.deftu.quicksocket.common.packets.PacketBase;

public class PacketHelloWorld extends PacketBase {
    public PacketHelloWorld() {
        super("HELLO_WORLD");
    }

    public void onPacketSent(JsonObject data) {
        data.addProperty("Hello!", "How are you?");
    }

    public void onPacketReceived(JsonObject data) {
        System.out.println("I just received a greeting packet! Wow!");
    }
}
Client
import org.java_websocket.handshake.ServerHandshake;
import packets.PacketHelloWorld;
import xyz.deftu.quicksocket.client.QuickSocketClient;

import java.net.URI;

public class ExampleSocketClient extends QuickSocketClient {
    public ExampleSocketClient() {
        super(URI.create("ws://localhost:4567"));
        addPacket("HELLO_WORLD", PacketHelloWorld.class);
    }

    public void onConnectionOpened(ServerHandshake handshake) {
        System.out.println("Connection opened!");
    }

    public static void main(String[] args) {
        try {
            new ExampleSocketClient().connectBlocking();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
Server
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import packets.PacketHelloWorld;
import xyz.deftu.quicksocket.server.QuickSocketServer;

import java.net.InetSocketAddress;

public class ExampleSocketServer extends QuickSocketServer {
    public ExampleSocketServer() {
        super(new InetSocketAddress(4567));
    }

    public void onSocketStarted() {
        addPacket("HELLO_WORLD", PacketHelloWorld.class);
    }

    public void onConnectionOpened(WebSocket connection, ClientHandshake handshake) {
        System.out.println("Connection opened!");
        sendPacket(connection, new PacketHelloWorld());
    }

    public static void main(String[] args) {
        new ExampleSocketServer().start();
    }
}

Kotlin

Packets
import xyz.deftu.quicksocket.common.packets.PacketBase
import com.google.gson.JsonObject

class PacketHelloWorld : PacketBase(
    "HELLO_WORLD"
) {
    override fun onPacketSent(data: JsonObject) {
        data.addProperty("Hello!", "How are you?")
    }

    override fun onPacketReceived(data: JsonObject?) {
        println("I just received a greeting packet! Wow!")
    }
}
Client
import xyz.deftu.quicksocket.client.QuickSocketClient
import org.java_websocket.handshake.ServerHandshake
import packets.PacketHelloWorld
import java.net.URI

class ExampleSocketClient : QuickSocketClient(
    URI.create("ws://localhost:4567")
) {
    override fun onConnectionOpened(handshake: ServerHandshake) {
        println("Connection opened!")
    }

    init {
        addPacket("HELLO_WORLD", PacketHelloWorld::class.java)
    }
}
Server
import packets.PacketHelloWorld
import xyz.deftu.quicksocket.server.QuickSocketServer
import java.net.InetSocketAddress
import org.java_websocket.WebSocket
import org.java_websocket.handshake.ClientHandshake

class ExampleSocketServer : QuickSocketServer(
    InetSocketAddress(4567)
) {
    override fun onSocketStarted() {
        addPacket("HELLO_WORLD", PacketHelloWorld::class.java)
    }

    override fun onConnectionOpened(connection: WebSocket, handshake: ClientHandshake) {
        println("Connection opened!")
        sendPacket(connection, PacketHelloWorld())
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Languages