jwenjian
V2EX  ›  Java

Java socket 程序奇怪的现象

  •  
  •   jwenjian ·
    jwenjian · Mar 20, 2020 · 3129 views
    This topic created in 2293 days ago, the information mentioned may be changed or developed.

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

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

    可能的问题在哪里?

    Supplement 1  ·  Mar 20, 2020
    GTMD 微软,换成 git bash 就好了。
    13 replies    2020-03-20 22:30:30 +08:00
    fxfoo1
        1
    fxfoo1  
       Mar 20, 2020
    试试每 10ms 一次报文
    aSmallNewbie
        2
    aSmallNewbie  
       Mar 20, 2020
    可能是命令行光标堵住了。。根本不可能的,idea 他也是运行在 jvm 上。。。他只是个编辑工具,
    fantastM
        3
    fantastM  
       Mar 20, 2020
    是用 Netty 的吗?代码贴上来看看
    des
        4
    des  
       Mar 20, 2020
    是不是用的 windows,然后在 cmd 运行的?
    jwenjian
        5
    jwenjian  
    OP
       Mar 20, 2020
    @fantastM 不是 netty,代码不方便贴 就是 java.net.Socket
    jwenjian
        6
    jwenjian  
    OP
       Mar 20, 2020
    @des 恩恩 是的
    jwenjian
        7
    jwenjian  
    OP
       Mar 20, 2020
    @aSmallNewbie 主要我特意没动那么命令行窗口 我回头也用 git bash 再试试
    GuuJiang
        8
    GuuJiang  
       Mar 20, 2020 via iPhone
    https://www.v2ex.com/t/643638

    类似的问题光在 v 站都至少见过 3 次了
    jwenjian
        9
    jwenjian  
    OP
       Mar 20, 2020
    @fxfoo1 谢谢 主要模拟的真实场景 不能改客户端程序
    helloSpringBoot
        10
    helloSpringBoot  
       Mar 20, 2020
    jstack 看下线程栈
    jwenjian
        11
    jwenjian  
    OP
       Mar 20, 2020
    @GuuJiang 希望如此 我换个终端试试
    des
        12
    des  
       Mar 20, 2020
    @jwenjian 同 8 楼所说,多按几下回车,多半就有数据了
    looseChen
        13
    looseChen  
       Mar 20, 2020
    2L 正解了吧,大部分都是 CMD 光标卡住了,右键 CMD 窗口把输入的功能给关闭掉就好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2854 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 15:23 · PVG 23:23 · LAX 08:23 · JFK 11:23
    ♥ Do have faith in what you're doing.