All Projects → smallnest → epoller

smallnest / epoller

Licence: MIT license
epoll implementation for connections in Linux, MacOS and Windows

Programming Languages

c
50402 projects - #5 most used programming language
go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to epoller

Zeus
A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
Stars: ✭ 30 (-48.28%)
Mutual labels:  socket, tcp, epoll
Hp Socket
High Performance TCP/UDP/HTTP Communication Component
Stars: ✭ 4,420 (+7520.69%)
Mutual labels:  socket, tcp, epoll
Tiginx
Tiginx is a Shanzhai Nginx project , please buyao use it xian , if meet problem , I no fuze ...
Stars: ✭ 29 (-50%)
Mutual labels:  socket, tcp, epoll
Zserver4d
ZServer4D 是一套从商业项目剥离而出的云服务器中间件,可以承载百万级的分布式负载服务,并且支持IoT及内网穿透
Stars: ✭ 199 (+243.1%)
Mutual labels:  socket, tcp, epoll
gnb udp over tcp
gnb_udp_over_tcp 是一个为GNB开发的通过tcp链路中转UDP分组转发的服务
Stars: ✭ 32 (-44.83%)
Mutual labels:  socket, tcp
net-Socket
A minimalist wrapper around System.Net.Sockets.Socket.
Stars: ✭ 21 (-63.79%)
Mutual labels:  socket, tcp
LiteNetwork
A simple and fast .NET networking library compatible with .NET Standard 2, .NET 5, 6 and 7.
Stars: ✭ 66 (+13.79%)
Mutual labels:  socket, tcp
KingNetwork
KingNetwork is an open source library to facilitate the creation and communication of clients and servers via TCP, UDP, WebSocket and RUDP sockets.
Stars: ✭ 78 (+34.48%)
Mutual labels:  socket, tcp
Unitysocketprotobuf3demo
主要实现了用Unity对接了Leaf服务器。其次带了些小工具。
Stars: ✭ 244 (+320.69%)
Mutual labels:  socket, tcp
RRQMSocket
TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。
Stars: ✭ 286 (+393.1%)
Mutual labels:  socket, tcp
lce
linux网络编程框架(C++)基于Reactor事件机制,支持线程池,异步非阻塞,高并发,高性能
Stars: ✭ 61 (+5.17%)
Mutual labels:  socket, epoll
AndroidNetMonitor
This project aims to collect and analyze traffic information of Android.(采集手机发送和接收的报文简要信息,并且根据socket记录每个报文对应哪个手机app)
Stars: ✭ 25 (-56.9%)
Mutual labels:  socket, tcp
go-eventserver
A socket server which reads events from an event source and forwards them to the user clients when appropriate
Stars: ✭ 18 (-68.97%)
Mutual labels:  socket, tcp
GenericProtocol
⚡️ A fast TCP event based buffered server/client protocol for transferring data over the (inter)net in .NET 🌐
Stars: ✭ 38 (-34.48%)
Mutual labels:  socket, tcp
missive
Fast, lightweight library for encoding and decoding JSON messages over streams.
Stars: ✭ 16 (-72.41%)
Mutual labels:  socket, tcp
tcp-net
Build tcp applications in a stable and elegant way
Stars: ✭ 42 (-27.59%)
Mutual labels:  socket, tcp
socket
Dazzle Async Socket
Stars: ✭ 19 (-67.24%)
Mutual labels:  socket, tcp
Socket
The Hoa\Socket library.
Stars: ✭ 61 (+5.17%)
Mutual labels:  socket, tcp
DzSocket
Delphi Client/Server components to communicate using TCP Socket Asynchronous easily
Stars: ✭ 44 (-24.14%)
Mutual labels:  socket, tcp
workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.4.
Stars: ✭ 10,005 (+17150%)
Mutual labels:  socket, tcp

epoller

epoll implementation for connections in Linux, MacOS and windows.

License GoDoc travis Go Report Card coveralls

Its target is implementing a simple epoll for connection, so you should see it only contains few methods:

type Poller interface {
    Add(conn net.Conn) error
    Remove(conn net.Conn) error
    Wait(count int) ([]net.Conn, error)
    WaitWithBuffer() ([]net.Conn, error)
    WaitChan(count int) <-chan []net.Conn
    Close() error
}

Welcome any PRs for windows IOCompletePort.

Inspired by 1m-go-websockets.

Thanks @sunnyboy00 for providing windows implementation.

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