想问下大佬们 关于 netty 自定义消息类的问题

2021-03-25 11:07:54 +08:00
 sujunjie520
从网上 下了个 netty demo 想修改它的自定义消息类 Message 有点懵逼 不知道怎么下手
-----------------------------------------------------------------------------------------------
是想在保持心跳连接的基础上 添加上传文件
-----------------------------------------------------------------------------------------------
心跳的 demo 发送消息
ctx.writeAndFlush(
Message.MessageBase.newBuilder()
.setClientId(CLIENTID)
.setCmd(Command.CommandType.PUSH_DATA)
.setData("发送业务数据中。。。")
.build()
);
-----------------------------------------------------------------------------------------------
上传文件的 demo
FileUploadFile uploadFile = new FileUploadFile();
File file = new File("D:\\testFile\\无标题项目.aep");//
String fileMd5 = file.getName();// 文件名
uploadFile.setFile(file);
uploadFile.setFile_md5(fileMd5);
uploadFile.setStarPos(0);// 文件开始位置
new FileUploadClient().connect(FILE_PORT, "127.0.0.1", uploadFile);
-----------------------------------------------------------------------------------------------
请大佬们 留下 qq 或者微信 让我咨询一下 谢谢大佬们 qaq
1506 次点击
所在节点    Java
5 条回复
xinhochen
2021-03-25 11:13:23 +08:00
没看到 Encoder,不好说。
不过大体思路就是 setCmd()那里加一个 CommandType.FILE_UPLOAD,setData()里面把文件的 byte[]放进去。
要看 Encoder 的实现来考虑是否需要添加新的 Encoder,或者在现有 Encoder 中添加新逻辑
RedBeanIce
2021-03-25 11:29:52 +08:00
看一下 netty 的官方文档,里面有示例,不知道是不是你要的,GitHub 的

netty\example\src\main\java\io\netty\example\http\upload\HttpUploadServerHandler.java
YzSama
2021-03-25 14:28:09 +08:00
把文件 转成 流。包装到 data 里面。cmd 定义个 文件上传的命令。
sujunjie520
2021-03-25 17:50:32 +08:00
@xinhochen 问题就是那个 Encoder 里面的代码有点看不懂 总之感谢大佬了
sujunjie520
2021-03-25 17:54:08 +08:00
@YzSama 我也是这个思路 qaq 问题是 cmd 就是那个消息类里的代码 看不懂 不知道咋下手

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/764928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX