Java socket 程序奇怪的现象

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

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

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

可能的问题在哪里?

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

类似的问题光在 v 站都至少见过 3 次了
jwenjian
2020-03-20 11:27:08 +08:00
@fxfoo1 谢谢 主要模拟的真实场景 不能改客户端程序
helloSpringBoot
2020-03-20 11:28:05 +08:00
jstack 看下线程栈
jwenjian
2020-03-20 11:28:15 +08:00
@GuuJiang 希望如此 我换个终端试试
des
2020-03-20 11:35:17 +08:00
@jwenjian 同 8 楼所说,多按几下回车,多半就有数据了
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