Skip to content

A C# WebSocket server and client implementation that adheres to the RFC6455 standard.

License

Notifications You must be signed in to change notification settings

jackkimmins/jSock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

31e743c · Mar 11, 2023

History

18 Commits
Mar 11, 2023
Mar 11, 2023
Feb 2, 2022
Mar 11, 2023
Mar 11, 2023
Feb 2, 2022
Feb 2, 2022
Feb 3, 2022
Apr 28, 2022
Apr 28, 2022
Feb 3, 2022

Repository files navigation

jSock Logo

jSock

My C# WebSocket Server

How to use jSock?

jSock is avaliable on NuGet and can be used in any .NET Core project.

NuGet Package

dotnet add package jSock
Install-Package jSock

Example of a jSock Server

using jSock;

class RTC : jSockServer
{
    public RTC(string address, int port) : base(address, port) {}

    //Runs when a client connects to the server.
    public override void OnConnect(int clientID)
    {
        Console.WriteLine("A client has connected!");
    }

    //Runs when a client disconnects from the server.
    public override void OnDisconnect()
    {
        Console.WriteLine("A client has disconnected!");
    }

    //Runs when a client sends a message to the server.
    public override void OnRecieve(int clientID, string text)
    {
        //Display the message.
        Console.WriteLine("A message from a client! " + text);

        //Send the message back to the client that sent it.
        Reply(clientID, "Thanks for your message!");

        //Send the message to all clients except the one that sent it.
        Broadcast("Hey guys, some client sent me a message!", clientID);
    }
}

class Program
{
    static void Main()
    {
        //Create a new jSock server instance and start it.
        RTC server = new RTC("127.0.0.1", 8080);
        server.Start();
    }
}

JavaScript Client

const jsocket = new WebSocket("ws://127.0.0.1:8080");

jsocket.onopen = function(event) {
    console.log("Connected to jSock Server!");

    console.log("Sending message to jSock Server...");
    jsocket.send("Hello, jSock Server!");
};

jsocket.onmessage = function(event) {
    console.log("Message from jSock Server: " + event.data);
};

jsocket.onerror = function(event) {
    console.log("Error connecting to the jSock Server.");
};

About

A C# WebSocket server and client implementation that adheres to the RFC6455 standard.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published