V2EX xinhochen 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    xinhochen    全部回复第 1 页 / 共 1 页
回复总数  17
2023-06-21 09:05:19 +08:00
回复了 LeviMarvin 创建的主题 程序员 2023.06 求扫描复印打印一体机
我家去年买的兄弟 Brother DCP-T725DW ,满足你的所有要求,微信小程序远程打印尤其好用
说一个场景:用户在页面订阅由 websocket 推送的数据,关闭页面后需要移除订阅关系。当用户打开多个页面或者不同客户端使用,对于这个订阅关系的维护就用到了锁。当然,这个锁可能是提前实现好的组件内部使用的,开发者可以不用关心。
2022-10-19 13:41:06 +08:00
回复了 K120 创建的主题 问与答 现在做开源项目不容易啊
#3 在注释里,我也找了一圈才找到
2022-09-13 09:51:32 +08:00
回复了 VZEXEZVzzz 创建的主题 iOS 有没有带代理功能的浏览器 APP?
Yandex ,可以自己装 chrome 的代理插件
2022-07-06 17:42:20 +08:00
回复了 luxinfl 创建的主题 程序员 这种去重方法真的有用么
我觉得这样写更容易理解一些:
Set<String> filter = new HashSet<>();
List<Student> result = studentList.stream().filter(o -> filter.add(o.getName())).collect(Collectors.toList());
2022-04-27 16:04:35 +08:00
回复了 max58 创建的主题 Java 如果使用 Java 去实现将镜像放到容器中并启动这个操作
Runtime.getRuntime().exec("docker run xxx")
@ReinerShir Encoder 就是自己继承 MessageToByteEncoder,然后实现 encode 方法。当然你那种把 AABB 和 EEFF 放在 writeAndFlush 里也是可以的,但是万一协议有变化,修改的工作量就大了,这就是为什么有 Encoder 存在的原因。
设备收到这种是非常正常的,需要设备那边对收到数据做处理,就和你在 netty 里对 EEFF 做处理是一样的。TCP 里的数据是流式的,一次收到的数据不全,或者收到多余的数据都是再正常不过的事了。
@ReinerShir 只有 Decoder,没有 Encoder 么?一般来说,发消息过去,也需要有分隔符之类的。要不然就会遇到你说的这种心跳和指令在一起的情况。
@ReinerShir 这种情况只能从消息定义上着手了,方案很多:分隔符(需要额外定义转义符,对应 netty 里的 DelimiterBasedFrameDecoder )、长度字段(对应 netty 里的 LengthFieldBasedFrameDecoder)
补充运营商核心网的相关信息:设备断电后,netty 与运营商核心网的连接不会"马上"断开
@ReinerShir 设备如果用的 SIM 卡,要考虑运营商核心网的影响:设备断电后,netty 与运营商核心网的连接不会断开。建议把相关日志全部发上来看下,而不是截取部分,避免因为思维盲点遗漏了关键信息。
@ReinerShir 代码中有没有其它主动关闭 channel 的地方?如果没有,最好是抓 tcp 包,看设备日志,看程序日志。这三个放在一起分析,基本就能发现问题了。程序日志只能说明 channel 断开了,并不能说明是谁断开的。
可以抓下 TCP 包来看看新连接的断开是谁主动发起的,看下是 netty 还是设备
2021-03-25 11:13:23 +08:00
回复了 sujunjie520 创建的主题 Java 想问下大佬们 关于 netty 自定义消息类的问题
没看到 Encoder,不好说。
不过大体思路就是 setCmd()那里加一个 CommandType.FILE_UPLOAD,setData()里面把文件的 byte[]放进去。
要看 Encoder 的实现来考虑是否需要添加新的 Encoder,或者在现有 Encoder 中添加新逻辑
格式化一下再看:
function rstr2binl(input) {
var i;
var output = [] output[(input.length >> 2) - 1] = undefined;
for (i = 0; i < output.length; i += 1) {
output[i] = 0;
}
var length8 = input.length * 8;
for (i = 0; i < length8; i += 8) {
output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32;
}
return output;
}
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     910 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 34ms UTC 19:36 PVG 03:36 LAX 11:36 JFK 14:36
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86