mahttp:使用 SSL 的 Java 非阻塞、可嵌入 HTTP 服务器-源码

上传者: 42099755 | 上传时间: 2021-06-30 13:09:28 | 文件大小: 110KB | 文件类型: ZIP
支持 SSL 的轻量级非阻塞 Java HTTP 服务器。 要求 spongycastle-{core,pkix,prov}(使用 v1.50+ 开发) JUnit4(用于单元测试) 编译 这当前使用一个简单的ant构建文件。 只需调整build.xml顶部附近的 spongycastle-{core,pkix,prov}-jarfile 路径,然后运行ant compile即可构建。 单元测试依赖于 JUnit4(参见build.xml的junit-jarfile属性)并且可以使用ant test运行。 如果需要调试信息,请指定-Ddebug=on 。 基准说明 负载测试时,在服务器上调整以下内容: $ sysctl -w net.ipv4.tcp_max_syn_backlog=65535 $ echo 0 > /proc/sys/net/ipv4/tcp_syncookies

文件下载

资源详情

[{"title":"( 78 个子文件 110KB ) mahttp:使用 SSL 的 Java 非阻塞、可嵌入 HTTP 服务器-源码","children":[{"title":"mahttp-master","children":[{"title":"run_http.sh <span style='color:#111;'> 138B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 6.04KB </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.46KB </span>","children":null,"spread":false},{"title":"run_ssl_certgen.sh <span style='color:#111;'> 138B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"com","children":[{"title":"faveset","children":[{"title":"mahttpd","children":[{"title":"ByteBufferArrayTest.java <span style='color:#111;'> 3.50KB </span>","children":null,"spread":false},{"title":"RequestStartHandlerTest.java <span style='color:#111;'> 3.83KB </span>","children":null,"spread":false},{"title":"ByteBufferPoolTest.java <span style='color:#111;'> 1.94KB </span>","children":null,"spread":false},{"title":"SSLNonBlockingConnectionTest.java <span style='color:#111;'> 16.72KB </span>","children":null,"spread":false},{"title":"NetBufferTest.java <span style='color:#111;'> 4.08KB </span>","children":null,"spread":false},{"title":"NonBlockingConnectionTest.java <span style='color:#111;'> 33.17KB </span>","children":null,"spread":false},{"title":"DateFormatterTest.java <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false},{"title":"RequestHeaderHandlerTest.java <span style='color:#111;'> 4.42KB </span>","children":null,"spread":false},{"title":"Helper.java <span style='color:#111;'> 6.21KB </span>","children":null,"spread":false},{"title":"HeadersTest.java <span style='color:#111;'> 6.17KB </span>","children":null,"spread":false},{"title":"StringsTest.java <span style='color:#111;'> 6.11KB </span>","children":null,"spread":false},{"title":"ByteBufferArrayBuilderTest.java <span style='color:#111;'> 5.99KB </span>","children":null,"spread":false},{"title":"HttpConnectionTest.java <span style='color:#111;'> 13.09KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"com","children":[{"title":"faveset","children":[{"title":"flags","children":[{"title":"BaseFlag.java <span style='color:#111;'> 568B </span>","children":null,"spread":false},{"title":"FlagParser.java <span style='color:#111;'> 806B </span>","children":null,"spread":false},{"title":"Flags.java <span style='color:#111;'> 5.77KB </span>","children":null,"spread":false},{"title":"BoolFlag.java <span style='color:#111;'> 885B </span>","children":null,"spread":false},{"title":"StringFlag.java <span style='color:#111;'> 761B </span>","children":null,"spread":false}],"spread":true},{"title":"mahttpd","children":[{"title":"Pool.java <span style='color:#111;'> 303B </span>","children":null,"spread":false},{"title":"HeaderField.java <span style='color:#111;'> 3.30KB </span>","children":null,"spread":false},{"title":"NonBlockingConnectionOutNetBuffer.java <span style='color:#111;'> 1.14KB </span>","children":null,"spread":false},{"title":"PoolEntry.java <span style='color:#111;'> 471B </span>","children":null,"spread":false},{"title":"SSLBaseState.java <span style='color:#111;'> 2.66KB </span>","children":null,"spread":false},{"title":"NetReader.java <span style='color:#111;'> 667B </span>","children":null,"spread":false},{"title":"HeapByteBufferFactory.java <span style='color:#111;'> 744B </span>","children":null,"spread":false},{"title":"NonBlockingConnectionInNetBuffer.java <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"HeaderToken.java <span style='color:#111;'> 514B </span>","children":null,"spread":false},{"title":"HttpRequestBuilder.java <span style='color:#111;'> 937B </span>","children":null,"spread":false},{"title":"NetBuffer.java <span style='color:#111;'> 11.21KB </span>","children":null,"spread":false},{"title":"MessageBodyHandler.java <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false},{"title":"ByteBufferArray.java <span style='color:#111;'> 3.87KB </span>","children":null,"spread":false},{"title":"DirectByteBufferFactory.java <span style='color:#111;'> 756B </span>","children":null,"spread":false},{"title":"NonBlockingConnection.java <span style='color:#111;'> 23.11KB </span>","children":null,"spread":false},{"title":"AsyncConnection.java <span style='color:#111;'> 5.20KB </span>","children":null,"spread":false},{"title":"SSLActiveState.java <span style='color:#111;'> 7.08KB </span>","children":null,"spread":false},{"title":"RequestStartHandler.java <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false},{"title":"HttpResponseWriter.java <span style='color:#111;'> 1.25KB </span>","children":null,"spread":false},{"title":"SSLState.java <span style='color:#111;'> 900B </span>","children":null,"spread":false},{"title":"Constants.java <span style='color:#111;'> 778B </span>","children":null,"spread":false},{"title":"HttpServer.java <span style='color:#111;'> 8.68KB </span>","children":null,"spread":false},{"title":"HttpHandler.java <span style='color:#111;'> 302B </span>","children":null,"spread":false},{"title":"HttpStatus.java <span style='color:#111;'> 2.20KB </span>","children":null,"spread":false},{"title":"HttpRequest.java <span style='color:#111;'> 2.96KB </span>","children":null,"spread":false},{"title":"HeadersBuilder.java <span style='color:#111;'> 3.37KB </span>","children":null,"spread":false},{"title":"ByteBufferPool.java <span style='color:#111;'> 2.02KB </span>","children":null,"spread":false},{"title":"SSLUtils.java <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false},{"title":"InvalidRequestException.java <span style='color:#111;'> 676B </span>","children":null,"spread":false},{"title":"SSLHandshakeState.java <span style='color:#111;'> 6.26KB </span>","children":null,"spread":false},{"title":"NullPool.java <span style='color:#111;'> 684B </span>","children":null,"spread":false},{"title":"HandlerState.java <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false},{"title":"ByteBufferFactory.java <span style='color:#111;'> 297B </span>","children":null,"spread":false},{"title":"ResponseWriter.java <span style='color:#111;'> 8.93KB </span>","children":null,"spread":false},{"title":"RequestHeaderHandler.java <span style='color:#111;'> 4.13KB </span>","children":null,"spread":false},{"title":"SSLNonBlockingConnection.java <span style='color:#111;'> 28.35KB </span>","children":null,"spread":false},{"title":"ParseException.java <span style='color:#111;'> 428B </span>","children":null,"spread":false},{"title":"ArrayNetReader.java <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false},{"title":"DateFormatter.java <span style='color:#111;'> 2.62KB </span>","children":null,"spread":false},{"title":"BasePool.java <span style='color:#111;'> 2.62KB </span>","children":null,"spread":false},{"title":"ByteBufferArrayBuilder.java <span style='color:#111;'> 10.71KB </span>","children":null,"spread":false},{"title":"StateHandler.java <span style='color:#111;'> 808B </span>","children":null,"spread":false},{"title":"HttpConnection.java <span style='color:#111;'> 14.07KB </span>","children":null,"spread":false},{"title":"SelectTaskQueue.java <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"Strings.java <span style='color:#111;'> 14.31KB </span>","children":null,"spread":false},{"title":"NullByteBufferPool.java <span style='color:#111;'> 870B </span>","children":null,"spread":false},{"title":"SelectorHandler.java <span style='color:#111;'> 446B </span>","children":null,"spread":false},{"title":"Headers.java <span style='color:#111;'> 6.94KB </span>","children":null,"spread":false}],"spread":false},{"title":"ssl","children":[{"title":"CertificateBuilder.java <span style='color:#111;'> 9.27KB </span>","children":null,"spread":false},{"title":"KeyStoreBuilder.java <span style='color:#111;'> 3.75KB </span>","children":null,"spread":false}],"spread":true},{"title":"log","children":[{"title":"Log.java <span style='color:#111;'> 1.72KB </span>","children":null,"spread":false},{"title":"NullLog.java <span style='color:#111;'> 933B </span>","children":null,"spread":false},{"title":"OutputStreamLog.java <span style='color:#111;'> 3.46KB </span>","children":null,"spread":false}],"spread":true},{"title":"khttpserver","children":[{"title":"HttpServer.java <span style='color:#111;'> 3.05KB </span>","children":null,"spread":false},{"title":"SSLCertGen.java <span style='color:#111;'> 3.00KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"build.xml <span style='color:#111;'> 2.92KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明