FireNio / Firenio
Licence: apache-2.0
🐳🐳An easy of use io framework project based on java nio&epoll
Stars: ✭ 305
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Firenio
Starscream
Websockets in swift for iOS and OSX
Stars: ✭ 7,105 (+2229.51%)
Mutual labels: websocket, protocol
Wamp Proto
The Web Application Messaging Protocol
Stars: ✭ 405 (+32.79%)
Mutual labels: websocket, protocol
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (+92.46%)
Mutual labels: websocket, protocol
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (-56.72%)
Mutual labels: websocket, protocol
Grizzly
Writing scalable server applications in the Java™ programming language has always been difficult. Before the advent of the Java New I/O API (NIO), thread management issues made it impossible for a server to scale to thousands of users. The Grizzly NIO framework has been designed to help developers to take advantage of the Java™ NIO API.
Stars: ✭ 209 (-31.48%)
Mutual labels: nio, websocket
Voovan
Voovan是高性能异步通信、HTTP服务器和客户端通信、动态编译支持、数据库操作帮助类等工具的框架, 如果项目觉得不错, 请点一下 star, 谢谢
Stars: ✭ 221 (-27.54%)
Mutual labels: nio, websocket
Beast
HTTP and WebSocket built on Boost.Asio in C++11
Stars: ✭ 3,241 (+962.62%)
Mutual labels: websocket
Paho.mqtt.wxapp
接MQTT相关项目 paho.mqtt.wxapp可以让你在微信小程序里连接MQTT broker,实现在小程序里控制硬件,也可用于游戏,已测试的broker有mosquitto、emqtt、hivemq、百度物联网 MQTT QQ群:679985050
Stars: ✭ 295 (-3.28%)
Mutual labels: websocket
Vosk Server
WebSocket, gRPC and WebRTC speech recognition server based on Vosk and Kaldi libraries
Stars: ✭ 277 (-9.18%)
Mutual labels: websocket
Searchwithmybrowser
Open Cortana searches with your default browser.
Stars: ✭ 285 (-6.56%)
Mutual labels: protocol
Microwebsrv2
The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template engine and with really optimized architecture (mem allocations, async I/Os). Ready for ESP32, STM32 on Pyboard, Pycom's chipsets (WiPy, LoPy, ...). Robust, efficient and documented!
Stars: ✭ 295 (-3.28%)
Mutual labels: websocket
Chatire
💬 Real time Chat application built with Vue, Django, RabbitMQ and uWSGI WebSockets.
Stars: ✭ 278 (-8.85%)
Mutual labels: websocket
Bittorrent Protocol
Simple, robust, BitTorrent peer wire protocol implementation
Stars: ✭ 279 (-8.52%)
Mutual labels: protocol
Vue Project
基于vue-cli构建的财务后台管理系统(vue2+vuex+axios+vue-router+element-ui+echarts+websocket+vue-i18n)
Stars: ✭ 301 (-1.31%)
Mutual labels: websocket
FireNio Project
FireNio是基于java nio开发的一款可快速构建网络通讯项目的异步IO框架,其以简单易用的API和优良的性能深受开发者喜爱。
项目特色
- 支持协议扩展,已知的扩展协议有:
- LengthValue协议,支持传输文本数据
- HTTP1.1协议(lite),示例: https://www.firenio.com/
- WebSocket协议,示例: https://www.firenio.com/web-socket/chat/index.html
- Protobase(自定义协议),支持传输文本或二进制数据
- 轻松实现断线重连(轻松实现心跳机制)
- 支持SSL(JdkSSL & OpenSSL)
- TFB压力测试
快速入门
- Maven引用:
<dependency>
<groupId>com.firenio</groupId>
<artifactId>firenio-all</artifactId>
<version>1.3.6</version>
</dependency>
- Simple Server:
public static void main(String[] args) throws Exception {
IoEventHandle eventHandleAdaptor = new IoEventHandle() {
@Override
public void accept(Channel ch, Frame f) throws Exception {
String text = f.getStringContent();
f.setContent(ch.allocateWithSkipHeader(1));
f.write("yes server already accept your message:", ch);
f.write(text, ch);
ch.writeAndFlush(f);
}
};
ChannelAcceptor context = new ChannelAcceptor(8300);
context.addChannelEventListener(new LoggerChannelOpenListener());
context.setIoEventHandle(eventHandleAdaptor);
context.addProtocolCodec(new LengthValueCodec());
context.bind();
}
- Simple Client:
public static void main(String[] args) throws Exception {
ChannelConnector context = new ChannelConnector("127.0.0.1", 8300);
IoEventHandle eventHandle = new IoEventHandle() {
@Override
public void accept(Channel ch, Frame f) throws Exception {
System.out.println();
System.out.println("____________________" + f.getStringContent());
System.out.println();
context.close();
}
};
context.setIoEventHandle(eventHandle);
context.addChannelEventListener(new LoggerChannelOpenListener());
context.addProtocolCodec(new LengthValueCodec());
Channel ch = context.connect(3000);
LengthValueFrame frame = new LengthValueFrame();
frame.setString("hello server!", ch);
ch.writeAndFlush(frame);
}
更多样例详见 {firenio-test}
演示及用例
- HTTP Demo:https://www.firenio.com/index.html
- WebSocket聊天室 Demo:https://www.firenio.com/web-socket/chat/index.html
(后端基于firenio,前端基于:https://github.com/socketio/socket.io/ ) - WebSocket小蝌蚪 Demo:https://www.firenio.com/web-socket/rumpetroll/index.html
(后端基于firenio,前端基于:https://github.com/danielmahal/Rumpetroll )
License
FireNio is released under the Apache License 2.0.
了解更多,加入该项目QQ群,更多java相关技术均可在此讨论
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].