bthulu
V2EX  ›  Java

为啥 Java 里就没有一个好用一点的异步 TcpClient?

  •  
  •   bthulu · Nov 5, 2022 · 2945 views
    This topic created in 1313 days ago, the information mentioned may be changed or developed.

    一谈到异步 io, 就是 netty, 就要引入好几 M 甚至十几 M 的 jar 包.
    而原生的 AsynchronousSocketChannel 返回的 Future 是真难用, 为什么就不能返回 CompletableFuture 呢?

    11 replies    2022-11-07 08:10:48 +08:00
    ALXG
        1
    ALXG  
       Nov 6, 2022   ❤️ 2
    面向对象编程就是你想要一个香蕉, 结果得到了一个手持香蕉的大猩猩
    xuanbg
        2
    xuanbg  
       Nov 6, 2022
    这其实不是面向对象的问题,而是设计者想多了的问题。也就是我们常说的过度设计。

    别管什么几十 M 了,体积大点不算毛病。
    ccppgo
        3
    ccppgo  
       Nov 6, 2022
    不是有句话叫 "当你意识到这是个问题的时候, 你的机会就来了" 看你了楼主
    itechify
        4
    itechify  
    PRO
       Nov 6, 2022 via Android
    opengps
        5
    opengps  
       Nov 6, 2022
    自己写个就行,不过 socket 刚入门的话确实很多人处理不好
    zhuangzhuang1988
        6
    zhuangzhuang1988  
       Nov 6, 2022
    实在不行换个语言吧.
    wlingxiao
        7
    wlingxiao  
       Nov 6, 2022 via Android
    netty 只用 transport 的依赖会超过 1m?
    kwh
        8
    kwh  
       Nov 6, 2022
    @opengps 写一个???如果不用框架,如何请求 https 的,而且,http2 更复杂。
    kwh
        9
    kwh  
       Nov 6, 2022
    刚才百度了下,阿帕奇的 httpclient 好像支持 nio
    opengps
        10
    opengps  
       Nov 6, 2022
    @kwh java 的我写不了,我用的 C#
    bthulu
        11
    bthulu  
    OP
       Nov 7, 2022
    @kwh jdk11 里有现成的支持异步的 HttpClient, 但没有更底层一点的 TcpClient.

    @opengps C#有现成的, 比 Java 好用一万倍
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3585 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 10:31 · PVG 18:31 · LAX 03:31 · JFK 06:31
    ♥ Do have faith in what you're doing.