腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
异步
TcpStream
被
阻塞
?
、
、
我使用Tokio的
异步
运行时编写了服务器端代码。我遇到了一个问题,我的
异步
代码似乎
被
阻塞
了,所以当我有多个到服务器的连接时,只会处理一个
TcpStream
。我对
异步
的理解是错误的,还是我对tokio的使用不正确?具体地说,
阻塞
的点是线let input = async_read_message::<message::Request>(&mut stream).await; 这是服务器等待来自集群中的客户端或另一个服务器的通信的地方use std::i
浏览 15
提问于2021-10-13
得票数 1
回答已采纳
3
回答
Rust语言支持非
阻塞
IO吗?
Rust语言在其标准中支持非
阻塞
IO吗?我搜索了互联网,但没有找到任何与其标准相关的信息。
浏览 4
提问于2020-01-26
得票数 10
1
回答
是否有推荐的锈蚀多线程tcp通信程序模型?
、
其中一个位于服务器端,所有已接受的tcpstreams都被移动到一个新线程以供使用,另一个位于客户端,使用
阻塞
读取,然后输出。由于我对Rust还不熟悉,所以我不打算为此使用
异步
io或tokio库。 假设我使用一个线程来阻止读取数据,并在主线程中发送数据或关闭tcp连接。作为一般实践,由于tcp连接在两个线程中使用,所以通常我们必须使用Arc<Mutex<
TcpStream
>>来使用连接
浏览 8
提问于2022-08-15
得票数 1
回答已采纳
1
回答
在等待读取时处理对
TcpStream
的写入的惯用方法
我产生了一个任务来侦听类似于这样的连接:,一旦用户连接,我得到一个
TcpStream
,我把它放在一个连接结构中。连接结构使用通道与两个任务进行通信-一个用于从其
TcpStream
读取,另一个用于写入。读取任务
阻塞
TcpStream
的read()方法,并将任何输入发送回连接结构。写入器
阻塞
端口的recv()方法,并将接收到的任何内容写入
TcpStream
。问题是,使用此实现,
TcpStream
必须由读和写任务共享,而可变的read()方法则
被
调用,而可变
浏览 3
提问于2014-01-16
得票数 1
回答已采纳
3
回答
如何测试绑定到tokio
TcpStream
的未来?
、
、
当我试图将其封装在测试中时,我会在大约20%的时间内遇到
阻塞
,但是由于没有监听到我试图连接到的套接字,所以我希望始终得到错误:use std::net::SocketAddr;use tokio::net::
TcpStream
, LinesCodec>; fn poll
浏览 0
提问于2018-09-19
得票数 7
回答已采纳
1
回答
用
TcpStream
强制非
阻塞
读取
、
、
std::io::Read::read(&mut self, buf: &mut [u8]) -> Result<usize>impl Read for
TcpStream
{ }; read(
浏览 7
提问于2015-02-13
得票数 12
回答已采纳
1
回答
为什么
不能用如果?
我正在尝试处理从
异步
调用中收到的错误: let fut =
TcpStream
::connect(session.configuration().socket()).await?
为什么
我不能使用if
浏览 1
提问于2020-10-12
得票数 0
回答已采纳
1
回答
为什么
从一个
TcpStream
变成一个特性的原因“不能借用不可变的借来的内容是可变的”?
我想使用
异步
IO创建一个SOCKS5代理的变体。我以前在Haskell做过这件事,所以我认为这将是一个很好的学习挑战。我从开始。在本例中,Transfer结构要求读取器和写入器的类型为
TcpStream
。{ tokio_core::net::
TcpStream
::poll_read(&self) }在更改之前,&*self.reader的类型是&tokio_core::net::
Tc
浏览 0
提问于2018-01-26
得票数 0
回答已采纳
1
回答
正确的2个
TcpStream
、
pub fn route(source:
TcpStream
, worker: Worker) -> Result<()> { let mut source = source; let mut destination =
TcpStream
::connect(worker.address特别是,如果我在destination停止写入时关闭了source,它就不会
阻塞</em
浏览 15
提问于2021-10-28
得票数 0
1
回答
生锈持久性
TcpStream
、
、
我似乎在努力应对std::io::
TcpStream
。实际上,我正在尝试打开与另一个系统的TCP连接,但是下面的代码准确地模拟了这个问题。我有一个Tcp服务器,它在打开时简单地将"Hello“写到
TcpStream
,然后循环以保持连接打开。(proc() { }) }} let mut socket = io::<e
浏览 0
提问于2014-09-03
得票数 10
回答已采纳
3
回答
在接收值之前,golang通道死锁
我不明白
为什么
不能工作,但是这个可以工作。 正如我所理解的,goroutine
异步
地发送值true到a和12到b。在主函数中,a
被
阻塞
,直到它接收到一个值。
为什么
当我重新排列它使b在a之前
被
阻塞
时,它会导致死锁?
浏览 0
提问于2019-01-24
得票数 2
回答已采纳
1
回答
如何使用tokios
异步
TcpStream
将贝维游戏连接到外部TCP服务器?
、
、
我依赖于使用tokios
异步
TcpStream
,因为我必须能够使用stream.into_split()将流拆分为OwnedWriteHalf和OwnedReadhalf。sender.send(queue.pop()).await.unwrap(); } });但是由于所有这些都必须是
异步
的,所以我在同步游戏循环中
阻塞
了pull()函数。看起来,future::block_on()确实会无限期地
阻塞
。 让主函数
浏览 12
提问于2022-03-27
得票数 2
回答已采纳
1
回答
为什么
MySQL驱动程序/客户机(如MySQLdb、mysqlclient或PyMySQL )考虑
阻塞
,即使使用在龙卷风之类的
异步
Web框架中?
、
、
、
、
在像龙卷风这样的
异步
web框架中,我们可以使用它的@gen.coroutine或@tornado.web.asynchronous装饰器进行非
阻塞
调用。例如,我们可以使用AsyncHTTPClient模块进行非
阻塞
或
异步
调用。对于这两种方法,它都是非
阻塞
的。 同样,
为什么
Python的MySQL驱动程序/客户端(如MySQLdb、PyMySQL、mysqlclient等)不能采用同样的方式。
为什么
驱动程序不能与gen.coroutine或web.asynchr
浏览 2
提问于2016-01-14
得票数 0
回答已采纳
2
回答
如何共享tokio::net::
TcpStream
?
、
我需要在同一个
TcpStream
上发送和接收正常数据,同时定期发送心跳数据。在当前的实现中,我使用了Arc<Mutex<
TcpStream
>>,但是它编译时有错误:use std::sync::{Arc, Mutex};use std::time::Duration;use tokio::net::
TcpStream
; #[tokio::main
浏览 8
提问于2022-03-05
得票数 1
回答已采纳
1
回答
为什么
IndexedDB
被
设计成一个带有表锁定功能的
异步
应用程序接口?
为什么
IndexedDB
被
设计成一个带有表锁定功能的
异步
应用程序接口? 我的理解是,
异步
部分是为了让多个选项卡不能互相阻挡,这会导致糟糕的浏览体验……但是
为什么
选择
异步
来解决这个问题..。Google Bigtable与app-engine上的多个实例存在完全相同的问题,可能会在读写时相互
阻塞
,因此团队决定在实体级别(从技术上讲是实体组,但对此讨论没有区别)进行锁定。所以我的问题是,
为什么
indexeddb没有
被
设计成同步的,并且在具
浏览 1
提问于2012-12-22
得票数 2
回答已采纳
4
回答
异步
/等待同步运行?
、
、
static async Task DoSomethingAsync() await Task.Delay(2000); }我喜欢把“等待”看作是“
异步
等待也就是说,
异步
方法暂停直到awaitable完成(因此它等待),但是实际的线程没有
被
阻塞
(所以它是
异步
的)。 所以我的问题是:
为什么
实际的线程(在我的例子中是线程id 1)没有
被
阻塞
?在我看来,线程会被
阻塞
,因为在当前方法
浏览 7
提问于2019-07-09
得票数 0
1
回答
如果runBlocking
阻塞
了当前线程,那么它在kotlin中有什么用呢?
、
、
、
、
suspend function which queries database }} 据我所知,runBlocking
阻塞
了当前线程在某个地方阅读,我们使用
异步
代码,这样线程就不会被
阻塞
,UI也不会变得没有响应。但是,既然runBlocking
异步
代码
阻塞
了线程,那么它又是如何使用的呢?我在javascript async/await中也有同样的疑问,因为线程
被
阻
浏览 45
提问于2021-11-03
得票数 0
1
回答
为什么
C++
异步
在没有未来的情况下连续运行?
、
、
、
." << std::endl;在这个代码中,只有“
异步
.”将被输出,这意味着代码在
异步
时
被
阻塞
。." << std::endl; while (1); return false; }); 然后一切顺利进行(不会被
阻塞
)。我不知道
为什么
会这样发生。我认为
异步
应该在一个单独的线程中运行。
浏览 2
提问于2016-04-23
得票数 11
回答已采纳
1
回答
Spring网络流量与
异步
、
、
、
、
我有点不明白Webflux与Springs @
异步
有何不同。有些页面说Springs
异步
模型是
阻塞
的,而Webflux是非
阻塞
的。其他页面则表示Springs
异步
确实是非
阻塞
的。我认为
异步
不能
阻塞
,如果是的话,我
为什么
要使用它?在
异步
上使用webflux有什么好处?
浏览 5
提问于2022-05-27
得票数 0
1
回答
第一个TCP响应接收0字节,但根据netmon,在此之后还有响应
、
当通过另一个应用程序运行时,我可以看到响应已发送,机器发送的第一个响应不包含任何字节(仅包含头数据),因此在我的代码中,我检查如果"
tcpStream
.DataAvailable“明显返回"false”do numberOfBytesRead =
tcpStream
.Read(myReadBuffer, 0, myReadBuffer.Length); myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffe
浏览 0
提问于2017-11-15
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
异步非阻塞爬虫:tornado
理解PHP同步阻塞、和异步IO
一文读懂并发与并行,同步阻塞与异步阻塞
使用 Web Worker 实现简单的非阻塞异步
无阻塞 Java 并发编程实践——异步互斥量
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券