腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(8989)
视频
沙龙
3
回答
Java中非
阻塞
UDP
I/O与
阻塞
UDP
I/O的比较
、
、
、
NIO中的
非
阻塞
TCP/IP SocketChannel和Selector帮助我处理许多线程数较少的TCP/IP连接。但是
UDP
DatagramChannels怎么样呢?(我必须承认我对
UDP
不是很熟悉。) 即使DatagramChannel未在
阻塞
模式
下运行,
UDP
send操作似乎也不会
阻塞
。是否真的存在由于拥塞或类似原因而导致DatagramSocket.send(DatagramPacket)
阻塞
的情况?
浏览 0
提问于2009-02-20
得票数 18
回答已采纳
3
回答
C语言中的
非
阻塞
udp
套接字编程:我得到了什么?
、
、
、
、
我在理解哪些recv()/recvfrom()从
非
块
UDP
套接字返回方面有问题。更具体一些,与TCP相比(如果我错了,请纠正我):
阻塞
套接字( TCP或
UDP
)在缓冲区中有数据之前不会从recv()返回。这可能是一些字节( TCP )或一个完整的数据报(
UDP
)。
非
阻塞
的套接字要么返回EWOULDBLOCK (
linux
) / WSAEWOULDBLOCK (windows),要么返回当前在缓冲区中的字节。由于TCP数据是一个流,
浏览 6
提问于2010-02-10
得票数 10
回答已采纳
1
回答
OS X
UDP
发送错误: 55没有可用的缓冲区空间
、
、
、
、
import *
udp
.setsockopt(SOL_SOCKET, SO_REUSEADDR, True) 这段代码会抛出一个OSError(55,没有可用的缓冲区空间)错误,而在
Linux
(也是BlockingIOError)上,它抛出一个BlockingIOError,这很好,因为它是一个
非
阻塞
的套接字因此,在
linux
和windows上,套接字在OSX上的行为是正确
浏览 2
提问于2014-02-23
得票数 6
回答已采纳
1
回答
如何在QNX中将
UDP
套接字设置为
非
阻塞
、
、
、
我在QNX操作系统上用C++编写了一个
UDP
数据报接收器,我想执行
非
阻塞
的recvfrom()调用。 建议我可以使用ioctl()以某种方式将套接字置于
非
阻塞
模式
。不幸的是,帮不了什么忙。谁能告诉我我必须传递给ioctl()以将套接字设置为
非
阻塞
的参数?
浏览 4
提问于2011-11-01
得票数 2
回答已采纳
1
回答
即使套接字是非
阻塞
的,也会
阻塞
Perl上的recv
、
我在perl中的守护进程中创建了一个类似这样的套接字 Proto => '
udp
',Blocking => '0') or die "socket: $@"; 在recv调用期间,套接字的行为就像预期的
非
阻塞
套接字一样,正如预期的$sock->recv($message然而,我一直观察到
浏览 2
提问于2012-08-10
得票数 4
5
回答
阻塞
套接字:确切地说,"send()“何时返回?
、
、
在
非
阻塞
模式
下,它应该立即返回,对吗? 当消息不适合套接字的发送缓冲区时,除非套接字处于
非
阻塞
I/O
模式
,否则 send ()通常会
阻塞
。对于TCP和
UDP
,send()调用的行为和性能是否相同?若否,原因为何?
浏览 0
提问于2011-03-23
得票数 53
回答已采纳
4
回答
C套接字
阻塞
调用
、
、
、
我想知道socket在
阻塞
和
非
阻塞
行为上的行为。当套接字
阻塞
模式
改变时,套接字上的线程
阻塞
会发生什么?这是一个场景;thread1(T1)创建一个
UDP
套接字和T1等待(睡觉)等待接收thread2(T2)在套接字接收任何数据之前将套接字
模式
更改为
非
阻塞
模式</em
浏览 5
提问于2017-08-11
得票数 9
回答已采纳
2
回答
不轮询读取多条
UDP
消息
、
、
、
、
我想使用recvmmsg调用一次从一个套接字读取多个
UDP
消息。我正在读取一个多播组的数据。当我读取TCP数据时,我通常使用带有
非
阻塞
套接字(和超时)的poll/select,以便在准备读取时得到通知。我遵循这一方法,因为我意识到虚假唤醒的问题和有
阻塞
套接字的潜在问题。因此,我的两个问题如下: 使用
UDP
时,我可以安全地使用没有recvmmsg的poll/select从
阻塞
套接字读取,还是必须应用与TCP (
非
阻塞
+轮询)相同的
浏览 3
提问于2015-08-21
得票数 1
1
回答
非
阻塞
UDP
写入返回的字节数能否少于请求的字节数?
、
、
我有一个应用程序,它通过一条可以在单工(单向传输)或双工
模式
(双向)下运行的链路,将数据从发送方发送到接收方。在单工
模式
下,应用程序使用
UDP
发送数据,而在双工
模式
下,应用程序使用TCP。由于TCP套接字上的写操作可能会
阻塞
,因此我们使用
非
阻塞
IO (此发行版不支持带FIONBIO的ioctl- O_NONBLOCK和fcntl )和select()系统调用来确定何时可以写入数据。我想使用相同的基本代码进行发送,但在更高的抽象层次上在TCP/
UDP</
浏览 2
提问于2012-04-25
得票数 6
回答已采纳
2
回答
UDT send() -如何保证整个缓冲区的发送
、
、
、
我一直在使用UDT库(一种基于
udp
的协议)来发送文件,我注意到send函数在以
阻塞
模式
返回之前将数据发送到缓冲区。但是,send函数似乎返回时没有在
阻塞
模式
下发送整个数据(send()返回发送的数据量)。这个问题的可能原因是什么?如果无法解决问题,应如何发送剩余的数据?我为tcp和
udp
使用了winsock库,但是对于tcp或
udp
发送(在功能上类似于udt),我没有得到这个prob。通过传输相同的文件和网络对所有程序进行测试。我知道这可能会发生,如果它的
非<
浏览 7
提问于2014-02-22
得票数 1
回答已采纳
2
回答
EAGAIN错误:使用Berkeley套接字API
有时,当我尝试连续发送一些数据包(我正在使用send() API )时,会收到此错误。现在我不确定我应该做什么。我有这些问题: 1)我可以重新发送吗?如果是,那么多长时间后我应该再试一次。有什么特殊的策略需要遵循吗?3)有没有人可以给我一个更好的想法/代码,如何处理这种情况。
浏览 0
提问于2010-10-22
得票数 1
2
回答
UDP
非
阻塞
写入失败
、
、
、
、
我在
非
阻塞
TCP中工作过,在
非
阻塞
情况下,读写都可能失败。如果没有可用的数据,TCP
非
阻塞
读取就会失败;如果对等方的TCP缓冲区已满,则TCP写入可能会失败(希望TCP缓冲区大小为64K)。同样,如果没有可用的数据,则
UDP
读取(recvfrom)可能会失败。但是,
UDP
写(sendto)的失败案例是什么呢?我认为在
UDP
编写中不会出现任何
非
块错误。但是这不是
UDP
写的情况,它只会发送和输出,它不会
浏览 2
提问于2013-11-25
得票数 1
回答已采纳
1
回答
并发sctp读取线程和
非
阻塞
模式
、
、
、
我的问题是(sctp)套接字是否处于
非
阻塞
模式
。如果sctp代码不能立即获得锁,或者它只在套接字的缓冲区已满时
阻塞
,读操作是否会返回。
浏览 1
提问于2013-03-23
得票数 1
2
回答
用.Net内核创建
UDP
套接字
、
、
、
如何创建一个
UDP
套接字,它以
非
阻塞
的方式接收本地端点中的数据(我不知道数据来自哪个远程端口)?我在
Linux
中使用.NET核心,我认为我可以使用ReceiveAsync(),但它似乎不是这样工作的。
浏览 2
提问于2016-12-21
得票数 6
回答已采纳
1
回答
在
UDP
套接字上的sendto()
非
相干行为
、
、
我在iOS上使用了
UDP
套接字。当我将它设置为
非
阻塞
模式
和/或模拟一个坏连接时,我会遇到一种非常奇怪的行为。使用通常的fcntl在
非
阻塞
模式
下设置套接字为了模拟糟糕的连接,我使用了,它包含5/5的入/出包丢失和50 50KBps的输出限制,连接良好:min 0/max 6244/avg 601/std 1071
非</em
浏览 3
提问于2016-12-27
得票数 0
回答已采纳
1
回答
不同线程中的
UDP
发送和接收
、
、
、
、
在
Linux
内核中,在同一套接字上处理
UDP
发送和接收的独立性如何?我的用例是一个工作线程在1000个套接字上发送
UDP
测试流量,并在另一个工作线程中接收
UDP
回复。(即,如果发送和接收恰好在时间上重叠),所有套接字都被设置为
非
阻塞
模式
。另一个问题是内核中的锁定粒度-如果我使用sendmmsg/recvmmsg发送和接收,那么该套接字的锁是每个sendmmsg锁定一次,还是在sendmmsg中每个
UDP
数据报锁定一次?更新:我看了一下
浏览 26
提问于2017-02-16
得票数 5
1
回答
Tru64上的sendto返回ENOBUF
、
、
我目前在Tru64上运行一个旧系统,它使用sendto()函数使用了大量的
UDP
套接字。在我们的代码中,套接字用于向/从各种进程发送消息,然后最终发送到远程连接的胖客户端应用程序。我们已经将此应用程序移植到
Linux
上,问题似乎没有出现在那里。问候
浏览 2
提问于2010-05-11
得票数 2
4
回答
如何在winsock中使'send‘
非
阻塞
、
、
我正在编写一个程序,它以固定的时间间隔向服务器发送
UDP
数据包,如下所示: Sleep(fixedInterval); } 然而,不能保证周期性,因为send是
阻塞
调用您知道如何将send转换为
非
阻塞
操作吗?
浏览 1
提问于2013-06-21
得票数 6
回答已采纳
1
回答
Python套接字问题: Windows中的socket.MSG_DONTWAIT
、
、
我有一个Python应用程序,它使用
UDP
sendto/recvfrom和socket.MSG_DONTWAIT标志。在
Linux
和Mac中,这可以很好地工作。或者,如何在Windows中执行
非
阻塞
sendto/recvfrom?
浏览 8
提问于2011-09-29
得票数 3
回答已采纳
2
回答
我是否应该对
UDP
使用(
非
阻塞
) NIO?
、
、
、
、
根据的说法,
UDP
就是不会
阻塞
。对
UDP
使用(
非
阻塞
) NIO API有什么优势吗?或者我应该只使用更简单的“传统”io API?
浏览 0
提问于2009-11-12
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
从linux源码看socket的阻塞和非阻塞
网络编程基础漫谈(二)之 socket 的阻塞模式和非阻塞模式
JAVA语言异步非阻塞设计模式(原理篇)
linux非阻塞的socket发送数据出现EAGAIN错误的处理方法
ARTS-第-15-期
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券