当前位置:首页 > 每日看点 > 正文内容

Rust 语言未来会怎么样?

卡卷网1年前 (2025-01-17)每日看点206

今天试了试tokio和thread,对rust彻底失望了

rust无法优雅地实现一个MOBA游戏服务端

rust可以做web,但是做tcp和websocket的时候,无法优雅地“服务端主动向客户端发送消息”


其他语言都行,唯有rust语言实现不了的伪代码:

void Begin() { Socket socket = new Socket(ProtocolType.Tcp,ip, port); socket.Connect(); new Thread(() => { while (true) { byte[] bytes = new byte[1024]; int len = socket.Receive(bytes); } }).Start(); new Thread(() => { while (true) { Thread.Sleep(2000); socket.Send("Hello"); } }).Start(); }

以上为原回答

跑了评论区大佬的代码,没问题,确实实现了伪代码。我决定要学rust了。但我在读循环里加了个写,编译错误。确认了rust是个大坑。果断弃坑。

大佬代码:

use std::time::Duration; use tokio::io; use tokio::io::{AsyncReadExt, AsyncWriteExt}; use tokio::net::TcpStream; #[tokio::main] async fn main() { // 省略了所有错误处理 _ = begin().await; } async fn begin() -> io::Result<()> { let tcp_stream = TcpStream::connect("127.0.0.1:9999").await?; let (mut reader, mut writer) = tcp_stream.into_split(); let rt = tokio::spawn(async move { loop { let mut bs = [0u8; 1024]; _ = reader.read(&mut bs).await.unwrap(); // 省略读取后使用 } }); let st = tokio::spawn(async move { loop { tokio::time::sleep(Duration::from_secs(2)).await; writer.write_all("Hello".as_ref()).await.unwrap(); } }); _ = tokio::try_join!(rt, st)?; Ok(()) }


以上为原回答,半年后捡起rust,请教了知乎大佬后

发现rust没有那么难,应该和Java难度是一个级别的,只是语言太新,chatGPT给的代码都是编译错误的,网上现成代码太少

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9699.html

分享给朋友:

相关文章

一条音频千万播放!喜马拉雅如何成为亿万女性用户的情感树洞?

一条音频千万播放!喜马拉雅如何成为亿万女性用户的情感树洞?

哪个时刻你觉得自己很孤独,是母胎单身20余年渴望被陪伴,是因为身材焦虑渴望被接受,是走在创业独木桥上渴望被支持,还是困在产后抑郁中渴望被理解? 女性的情感倾诉需求越来越被...

网易云音乐里有哪些打动你的评论?

1.“如果我被强奸了,有人说我会失去贞操。”“我怎么失去贞操了呢?” “我的贞操不在我的阴道里。”“失去贞操的是强奸犯,而不是被强奸的人。”2.但要记得那年海边的烟火,我们不拘一格 ,嘲笑过生活。………网易云热评《这样就很好》3.“ 我们在...

4499 元起的荣耀Magic7 系列实际使用体验怎么样,值得入手吗?

全是软文。。。。。。不过我买了,标准版。为什么买荣耀:屏幕看着舒服,玩游戏选择大屏,超声波指纹解锁。其它,系统、续航、充电、拍照,不是最强,但均衡下来短板都不是很短。其它米OV,IQ、一加,都看了,预算有限,米OV的小屏不感兴趣,OPPO硬...

大量刷短视频,会让大脑变笨拙吗?

会。我曾经是一名高三学生,亲身实践过。当时集中突破语文,每天都在刷语文卷。然后有一天想躺一下刷手机,结果短视频刷完了,我再去看哪些文章,只觉头晕眼花,难以理解文字。不过好在这种情况是短时间的,过了一天我的能力又恢复了。在我看来,长期刷短视频...

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在讨论服务网格之前,先理解一下为什么我们需要它。现代微服务架构意味着将应用拆分为多个小型、独立的服务,这些服务可以独立开发、部署和扩展。然而,服务之间的通信和管理成了巨大的挑战,例如如何保证安全的通信、负载均衡、监控与可观测性等。服务网格...

WordPress建站同时面向B端和C端,有什么好的解决方案?

这个很容易实现呀,只不过需要自己开发,整体用权限管理就可以实现了,B端和C端是不同用户权限,C端能看到的菜单入口和B端不一样就行了。技术层面实现没问题的,只不过就是看你们的技术能力和投入了 ,这样的需求应该没有现成的开源插件。只能找人定制开...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。