# Magician **Repository Path**: fysoft2006/Magician ## Basic Information - **Project Name**: Magician - **Description**: Magician 是一个异步非阻塞的网络编程包,支持Http, WebSocket, UDP等协议 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: http://magician-io.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2021-04-21 - **Last Updated**: 2021-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README


一个异步非阻塞的网络编程包
## 项目简介 Magician 是一个异步非阻塞的网络编程包,支持Http, WebSocket, UDP等协议 ## 运行环境 JDK11+ ## 导入依赖 ```xml com.github.yuyenews Magician 最新版 org.slf4j slf4j-jdk14 1.7.12 ``` ## 创建http服务 ### 一、创建Handler ```java public class DemoHandler implements MagicianHandler { @Override public void request(MagicianRequest magicianRequest) { // 响应数据 magicianRequest.getResponse() .sendJson(200, "{'status':'ok'}"); } } ``` ### 二、创建服务 ```java Magician.createHttpServer().bind(8080) .httpHandler("/", new DemoHandler()) .start(); ``` ### 也可以合并为一步 ```java Magician.createHttpServer().httpHandler("/", req -> { req.getResponse() .sendJson(200, "{'status':'ok'}"); }).bind(8080).start(); ``` ## 创建WebSocket 只需要在创建http服务的时候加一个handler即可 ```java Magician.createHttpServer().bind(8080) .httpHandler("/", new DemoHandler()) .webSocketHandler("/websocket", new DemoSocketHandler()) .start(); ``` ## 创建UDP服务 ```java Magician.createUdpServer() .handler(outputStream -> { // outputStream 是ByteArrayOutputStream类型的 // 它是客户端发过来的数据,自行解析即可 }).bind(8088).start(); ``` 除了这种写法,也可以单独创建handler,在这里add进去 ## 开发资源 - 开发文档: [http://magician-io.com/docs/index.html](http://magician-io.com/docs/index.html) - 使用示例: [https://github.com/yuyenews/Magician-Example](https://github.com/yuyenews/Magician-Example)