NetGain alternatives and similar packages
Based on the "WebSocket" category.
Alternatively, view NetGain alternatives based on common mentions on social networks and blogs.
-
SuperSocket
SuperSocket is a light weight, cross platform and extensible socket server application framework. -
Lib.AspNetCore.WebSocketsCompression
DISCONTINUED. [Archived] Lib.AspNetCore.WebSocketsCompression is a library which provides a managed implementation of the WebSocket protocol, along with server integration components and support for permessage-deflate compression. -
XSockets
Provides a great set of tools for you to build real-time applications on the Microsoft.NET plattform and much more -
Crossertech
Provides a great set of tools for you to build real-time applications on the Microsoft.NET plattform and much more. [$]
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of NetGain or a related project?
README
Welcome to StackExchange.NetGain!
Warning: reduced maintenance
A few things have changed since this library was written:
- "pipelines" have become the new hotness for high performance low overhead IO code - see my 3-and-a-bit-part series here
- "Kestrel", combined with pipelines, now provides a great hosting experience for high volume servers
- HTTP/2 (and above) have reduced the usefulness of web-sockets (one of the main drivers for me and NetGain), since the web-sockets drafts for HTTP/2 never really "took"
As of late 2018, Stack Overflow (Stack Exchange) have migrated away from NetGain, instead using Kestrel's inbuilt web-socket support over HTTP/1.*; it is entirely possible that as we delve more into HTTP/2, we look more in the direction of SSE (EventSource
).
So: we're not actively working with, or working on, this library. If you have a burning desire to take it further as an official maintainer (perhaps with some tweaks to naming, obviously) - let me know!
NetGain supports:
- RFC 6455
- all draft versions of the RFC (between hixie-76 and v13, aka RFC 6455)
- hixie-76/hybi-00
- fixes for various browsers with slightly broken implementations
Build
StackExchange.NetGain is built as a single assembly, StackExchange.NetGain.dll.
NuGet Gallery
StackExchange.NetGain is available on the [NuGet Gallery]
- [NuGet Gallery: stackexchange.netgain]
You can add StackExchange.NetGain to your project with the NuGet Package Manager, by using the following command in the Package Manager Console.
PM> Install-Package StackExchange.NetGain
WebSocket Server Example
using System;
using System.Net;
using StackExchange.NetGain;
using StackExchange.NetGain.WebSockets;
namespace Example
{
public class Program
{
public static void Main (string[] args)
{
IPEndPoint endpoint = new IPEndPoint(IPAddress.Loopback, 6002);
using(var server = new TcpServer())
{
server.ProtocolFactory = WebSocketsSelectorProcessor.Default;
server.ConnectionTimeoutSeconds = 60;
server.Received += msg =>
{
var conn = (WebSocketConnection)msg.Connection;
string reply = (string)msg.Value + " / " + conn.Host;
Console.WriteLine("[server] {0}", msg.Value);
msg.Connection.Send(msg.Context, reply);
};
server.Start("abc", endpoint);
Console.WriteLine("Server running");
Console.ReadKey();
}
Console.WriteLine("Server dead; press any key");
Console.ReadKey();
}
}
}
}