Java socket 程序奇怪的现象

2020-03-20 11:05:28 +08:00
jwenjian  jwenjian

我有一个 socket 的客户端程序以及 socket 的服务端程序,当我在 IDEA 里跑这两个程序时,每秒发送 100 条报文,客户端和服务端都能正确处理。

但是我把 socket 的客户端打包成 jar 包,用命令行执行 jar 包时,设置每秒 100 条报文,持续工作一分多钟就 hang 住了。

可能的问题在哪里?

2462 次点击
所在节点   Java  Java
13 条回复
fxfoo1
fxfoo1
2020-03-20 11:11:41 +08:00
试试每 10ms 一次报文
aSmallNewbie
aSmallNewbie
2020-03-20 11:13:03 +08:00
可能是命令行光标堵住了。。根本不可能的,idea 他也是运行在 jvm 上。。。他只是个编辑工具,
fantastM
fantastM
2020-03-20 11:18:41 +08:00
是用 Netty 的吗?代码贴上来看看
des
des
2020-03-20 11:20:09 +08:00
是不是用的 windows,然后在 cmd 运行的?
jwenjian
jwenjian
2020-03-20 11:24:48 +08:00
@fantastM 不是 netty,代码不方便贴 就是 java.net.Socket
jwenjian
jwenjian
2020-03-20 11:25:09 +08:00
@des 恩恩 是的
jwenjian
jwenjian
2020-03-20 11:26:16 +08:00
@aSmallNewbie 主要我特意没动那么命令行窗口 我回头也用 git bash 再试试
GuuJiang
GuuJiang
2020-03-20 11:26:24 +08:00
https://www.v2ex.com/t/643638

类似的问题光在 v 站都至少见过 3 次了
jwenjian
jwenjian
2020-03-20 11:27:08 +08:00
@fxfoo1 谢谢 主要模拟的真实场景 不能改客户端程序
helloSpringBoot
helloSpringBoot
2020-03-20 11:28:05 +08:00
jstack 看下线程栈
jwenjian
jwenjian
2020-03-20 11:28:15 +08:00
@GuuJiang 希望如此 我换个终端试试
des
des
2020-03-20 11:35:17 +08:00
@jwenjian 同 8 楼所说,多按几下回车,多半就有数据了
looseChen
looseChen
2020-03-20 22:30:30 +08:00
2L 正解了吧,大部分都是 CMD 光标卡住了,右键 CMD 窗口把输入的功能给关闭掉就好了

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

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

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

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

© 2021 V2EX