smart-socket v1.4.4 Bate 版发布,迟到的 UDP 通信
smart-socket 是一款国产开源的 Java AIO 框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果 smart-socket 对您有一丝帮助,请 Star 一下我们的项目并持续关注;如果您对 smart-socket 并不满意,那请多一些耐心,smart-socket 一直在努力变得更好。
本次 beta 版主要为 smart-socket 提供 UDP 通信服务的能力,这也是众多用户心心念念的功能。我们先通过一个简单的 demo了解下如何使用 smart-socket 进行 UDP 的通信开发。
public class UdpDemo {
public static void main(String[] args) throws IOException, InterruptedException {
//服务端
final UdpBootstrap<String, String> bootstrap = new UdpBootstrap<String, String>(new StringProtocol(), new MessageProcessor<String, String>() {
@Override
public void process(UdpChannel<String, String> channel, SocketAddress remote, String msg) {
InetSocketAddress remoteAddress = (InetSocketAddress) remote;
if (remoteAddress.getPort() == 9999) {
System.out.println(channel + " receive response:" + msg);
} else {
System.out.println("server receive request:" + msg);
try {
channel.write(msg, remote);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
bootstrap.open(9999);
System.out.println("启动成功");
//客户端
int i = 10;
final SocketAddress remote = new InetSocketAddress("localhost", 9999);
while (i-- > 0) {
new Thread(new Runnable() {
@Override
public void run() {
try {
int count = 10;
UdpChannel<String, String> channel = bootstrap.open();
while (count-- > 0) {
channel.write("HelloWorld", remote);
}
System.out.println("发送完毕");
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
Thread.sleep(100);
bootstrap.shutdown();
}
}
对于 udp 的支持会延续 smart-socket 的一贯风格:极简、易用、高性能,感兴趣的朋友可以下载代码体验体验(开发分支:https://gitee.com/smartboot/smart-socket/tree/1.0.0-DEV/)。
至于正式版的发布日期待定,因为smart-socket期望整合TCP、UDP的接口设计,尽量使用户用仅需开发一次便可实现无缝切换通信方式。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
ThingsBoard CE v2.4.0 发布
ThingsBoard CE v2.4.0 发布了,具有以下改进: 主要特点: 使用CSV文件添加了设备/资产的批量添加; 增加了声明设备功能; UI:能够通过小部件编辑器中的拖放重新排序datakey片; UI:窗口小部件编辑器中最新值窗口小部件的组合属性和时间序列数据键; 附加功能: 添加事件调试模式速率限制; 添加了调试事件TTL; 改进了“租户/客户详细信息”规则节点; 改进了“获取发起者属性”和“获取设备属性”规则节点; 改进“创建警报”规则节点:将元数据用于警报类型的能力; 在“过滤”规则节点中添加了“实体视图”类型; 添加了SQL数据库模式的索引; 添加设备标签字段; UI:将地图HERE提供程序添加到OpenStreet Map小部件; UI:为OpenStreet Map小部件添加了自定义提供程序选项; UI:为所有Map小部件添加了“禁用滚动缩放”设置; UI:Trip动画小部件改进; UI:添加了在图例设置中选择图例项目方向的功能; UI:添加了隐藏窗口小部件时间窗口的功能; UI:将rowClick和cellButton操作源添加到Timeseries Tabl...
-
下一篇
Hyperf v1.0.12 发布,企业级的 PHP 微服务协程框架
更新内容 本周更新主要为协程上下文增加了一个很好用的 override 方法,同时为 Logger 配置增加了多个 Handler 的配置形式,同时修复了一些其它组件的 Bug?,发布于 1.0.12 版,建议使用到 GRPC、WebSocket 和 文件上传 的用户更新。 相关组件的文档可通过上面的超链接进入查看,或直接访问 官网 https://hyperf.io 或 文档 https://doc.hyperf.io 查看。 Hyperf\Utils\Context::override() 的使用方法 <?php use Hyperf\HttpServer\Contract\RequestInterface; use Hyperf\Utils\Context; // 从协程上下文取出 $request 对象并设置 key 为 foo 的 Header,然后再保存到协程上下文中 $request = Context::override(RequestInterface::class, function (RequestInterface $request) ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker容器配置,解决镜像无法拉取问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- CentOS7设置SWAP分区,小内存服务器的救世主
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作