这是一个创建于 1309 天前的主题,其中的信息可能已经有所发展或是发生改变。
从网上 下了个 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
5 条回复 • 2021-03-25 17:54:08 +08:00
|
|
1
xinhochen 2021-03-25 11:13:23 +08:00
没看到 Encoder,不好说。 不过大体思路就是 setCmd()那里加一个 CommandType.FILE_UPLOAD,setData()里面把文件的 byte[]放进去。 要看 Encoder 的实现来考虑是否需要添加新的 Encoder,或者在现有 Encoder 中添加新逻辑
|
|
|
2
RedBeanIce 2021-03-25 11:29:52 +08:00
看一下 netty 的官方文档,里面有示例,不知道是不是你要的,GitHub 的
netty\example\src\main\java\io\netty\example\http\upload\HttpUploadServerHandler.java
|
|
|
3
YzSama 2021-03-25 14:28:09 +08:00
把文件 转成 流。包装到 data 里面。cmd 定义个 文件上传的命令。
|
|
|
5
sujunjie520 2021-03-25 17:54:08 +08:00
@ YzSama 我也是这个思路 qaq 问题是 cmd 就是那个消息类里的代码 看不懂 不知道咋下手
|