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

Rust 语言未来会怎么样?

卡卷网11个月前 (01-17)每日看点190

今天试了试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

分享给朋友:

相关文章

那些极速版软件其存在目的是什么?

那些极速版软件其存在目的是什么?

我看了很多回答,其实都没有回答道点子上。你知道极速版APP为什么叫极速版吗?是他看视频更快吗?显然不是。只是它的安装包体积更小,下载安装速度更快而已,所以叫极速版app。当然啦,现在极速版APP和原声版APP,安装包已经没有区别了,这是因为...

你捡过最大的漏是什么?

你捡过最大的漏是什么?

买了套二手房,软磨硬泡便宜了1个w 结果就是一屋子狼藉 原业主说反正你们要重新装修 就不收拾了 等完了你们一起收拾掉吧 落了很多柜子 电器是啥的 今天打开卧室柜子一看…现在是去存钱的路上有朋友知道这样存钱银行会给发大米跟油吗...

鸿蒙到底是不是安卓套壳?

鸿蒙到底是不是安卓套壳?

把它是不是套壳先放在一边吧。我讲一个事情,大家自己判断。华为有一个应用,叫手机管家。这个手机管家对一些系统底层设置有影响:比如华为从 EMUI 9 开始不允许将第三方启动器设置为默认启动器,依靠的就是这个手机管家。为什么这么说呢?在网上搜索...

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。咱...

测试用例是怎么写的?

测试用例是怎么写的?

测试用例对于测试人员而言,虽说是最最基础的技能,但却非常重要。测试用例是支撑我们在测试道路上进一步学习其他测试技能的基本功。那测试用例如何撰写,完整来说应该包含两部分内容:内容1: 测试用例撰写(按照八大要素);内容2: 测试用例(测试点)...

你怎么看待软件测试这个工作的?

你怎么看待软件测试这个工作的?

先说一个插曲:上个月我有同学在深圳被裁员了,和我一样都是软件测试,不过他是平安外包,所以整个组都撤了,他工资和我差不多都是14K。现在IT互联网已经比较寒冬,特别是软件测试,裁员先裁测试,这几乎都是定律。我最近看了某音很多应届生以及去年毕业...

发表评论

访客

看不清,换一张

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