All Projects → workshop-depot → tcpserver

workshop-depot / tcpserver

Licence: Apache-2.0 license
A TCP Server with simple and clean API

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to tcpserver

React Native Tcp Socket
React Native TCP socket API for Android, iOS & macOS with client SSL/TLS support
Stars: ✭ 112 (+833.33%)
Mutual labels:  tcp, tcp-server
go-eventserver
A socket server which reads events from an event source and forwards them to the user clients when appropriate
Stars: ✭ 18 (+50%)
Mutual labels:  tcp, tcp-server
Simpletcp
A minimal non-blocking TCP server written for Python 3.
Stars: ✭ 162 (+1250%)
Mutual labels:  tcp, tcp-server
Simpletcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 99 (+725%)
Mutual labels:  tcp, tcp-server
SuperSimpleTcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 263 (+2091.67%)
Mutual labels:  tcp, tcp-server
Deta cache
缓存cache服务器
Stars: ✭ 106 (+783.33%)
Mutual labels:  tcp, tcp-server
Oksocket
An blocking socket client for Android applications.
Stars: ✭ 2,359 (+19558.33%)
Mutual labels:  tcp, tcp-server
Tinytcpserver
A small tcp server working under Mono or .NET (4.0) and provides hooks for handling data exchange with clients (works under mono and .net). Behaviour/protocol/reaction could be specified via custom C# script.
Stars: ✭ 14 (+16.67%)
Mutual labels:  tcp, tcp-server
AsyncTcpClient
An asynchronous variant of TcpClient and TcpListener for .NET Standard.
Stars: ✭ 125 (+941.67%)
Mutual labels:  tcp, tcp-server
QTcpSocket
A simple Qt client-server TCP architecture to transfer data between peers
Stars: ✭ 62 (+416.67%)
Mutual labels:  tcp, tcp-server
Packetsender
Network utility for sending / receiving TCP, UDP, SSL
Stars: ✭ 1,349 (+11141.67%)
Mutual labels:  tcp, tcp-server
network
exomia/network is a wrapper library around System.Socket for easy and fast TCP/UDP client & server communication.
Stars: ✭ 18 (+50%)
Mutual labels:  tcp, tcp-server
Easytcp
Simple framework for TCP clients and servers. Focused on performance and usability.
Stars: ✭ 60 (+400%)
Mutual labels:  tcp, tcp-server
Esp8266 Wifi Uart Bridge
Transparent WiFi (TCP, UDP) to UART Bridge, in AP or STATION mode
Stars: ✭ 107 (+791.67%)
Mutual labels:  tcp, tcp-server
Godsharp.socket
An easy-to-use .NET socket server and client.
Stars: ✭ 35 (+191.67%)
Mutual labels:  tcp, tcp-server
Simplenet
An easy-to-use, event-driven, asynchronous network application framework compiled with Java 11.
Stars: ✭ 164 (+1266.67%)
Mutual labels:  tcp, tcp-server
Simpleunitytcp
🖧 Simple Unity Project to show how TCP communication are builded in C# without multi-threading or Unity network (Unet) involved.
Stars: ✭ 22 (+83.33%)
Mutual labels:  tcp, tcp-server
Dpdk Ans
ANS(Accelerated Network Stack) on DPDK, DPDK native TCP/IP stack.
Stars: ✭ 925 (+7608.33%)
Mutual labels:  tcp, tcp-server
tcp server client
A thin and simple C++ TCP client server
Stars: ✭ 124 (+933.33%)
Mutual labels:  tcp, tcp-server
tcp-net
Build tcp applications in a stable and elegant way
Stars: ✭ 42 (+250%)
Mutual labels:  tcp, tcp-server

tcpserver

A TCP Server with simple and clean API - for a sample see tests.

We just need a struct that satisfies the Agent interface. The interesting part is that, our struct can be stateful, because each new connection, gets it's own instance of our struct - the aganet.

We implement it in a synchronous way because our struct is a closure inside the dedicated go-routine of the connection, so there is no need for extra go-routines.

If Proceed panics, it will get recovered and if it returns an error, connection will get closed and Proceed will no longer gets called. To stop the agent, you could simply return an error such as the already provided ErrStop.

This package provides the underlying server logic and strategies for client timeout or noticing inactive clients can get implemented inside the agents, based on the requirements of the problem at hand. No extra housekeeping tooling is needed because our agents manage all aspects of a client/connection.

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].