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

2022-11-05 22:27:53 +08:00
 bthulu

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

2296 次点击
所在节点    Java
11 条回复
ALXG
2022-11-06 03:45:46 +08:00
面向对象编程就是你想要一个香蕉, 结果得到了一个手持香蕉的大猩猩
xuanbg
2022-11-06 07:17:07 +08:00
这其实不是面向对象的问题,而是设计者想多了的问题。也就是我们常说的过度设计。

别管什么几十 M 了,体积大点不算毛病。
ccppgo
2022-11-06 10:05:14 +08:00
不是有句话叫 "当你意识到这是个问题的时候, 你的机会就来了" 看你了楼主
oneisall8955
2022-11-06 11:39:26 +08:00
opengps
2022-11-06 12:45:32 +08:00
自己写个就行,不过 socket 刚入门的话确实很多人处理不好
zhuangzhuang1988
2022-11-06 12:55:24 +08:00
实在不行换个语言吧.
wlingxiao
2022-11-06 15:18:47 +08:00
netty 只用 transport 的依赖会超过 1m?
kwh
2022-11-06 19:11:12 +08:00
@opengps 写一个???如果不用框架,如何请求 https 的,而且,http2 更复杂。
kwh
2022-11-06 19:14:23 +08:00
刚才百度了下,阿帕奇的 httpclient 好像支持 nio
opengps
2022-11-06 19:35:42 +08:00
@kwh java 的我写不了,我用的 C#
bthulu
2022-11-07 08:10:48 +08:00
@kwh jdk11 里有现成的支持异步的 HttpClient, 但没有更底层一点的 TcpClient.

@opengps C#有现成的, 比 Java 好用一万倍

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

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

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

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

© 2021 V2EX