腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(5371)
视频
沙龙
3
回答
C语言中的
非
阻塞
udp
套接字
编程
:我得到了什么?
、
、
、
、
我在理解哪些recv()/recvfrom()从
非
块
UDP
套接字返回方面有问题。更具体一些,与TCP相比(如果我错了,请纠正我):
阻塞
套接字( TCP或
UDP
)在缓冲区中有数据之前不会从recv()返回。这可能是一些字节( TCP )或一个完整的数据报(
UDP
)。
非
阻塞
的套接字要么返回EWOULDBLOCK (
linux
) / WSAEWOULDBLOCK (windows),要么返回当前在缓冲区中的字节。由于TCP数据是一个流,
浏览 6
提问于2010-02-10
得票数 10
回答已采纳
1
回答
即使套接字是非
阻塞
的,也会
阻塞
Perl上的recv
、
我在perl中的守护进程中创建了一个类似这样的套接字 Proto => '
udp
',Blocking => '0') or die "socket: $@"; 在recv调用期间,套接字的行为就像预期的
非
阻塞
套接字一样,正如预期的$sock->recv($message然而,我一直观察到
浏览 2
提问于2012-08-10
得票数 4
2
回答
不轮询读取多条
UDP
消息
、
、
、
、
我想使用recvmmsg调用一次从一个套接字读取多个
UDP
消息。我正在读取一个多播组的数据。当我读取TCP数据时,我通常使用带有
非
阻塞
套接字(和超时)的poll/select,以便在准备读取时得到通知。我遵循这一方法,因为我意识到虚假唤醒的问题和有
阻塞
套接字的潜在问题。因此,我的两个问题如下: 使用
UDP
时,我可以安全地使用没有recvmmsg的poll/select从
阻塞
套接字读取,还是必须应用与TCP (
非
阻塞
+轮询)相同的
浏览 3
提问于2015-08-21
得票数 1
4
回答
如何在winsock中使'send‘
非
阻塞
、
、
我正在编写一个程序,它以固定的时间间隔向服务器发送
UDP
数据包,如下所示: Sleep(fixedInterval); } 然而,不能保证周期性,因为send是
阻塞
调用您知道如何将send转换为
非
阻塞
操作吗?
浏览 1
提问于2013-06-21
得票数 6
回答已采纳
2
回答
UDP
非
阻塞
写入失败
、
、
、
、
我在
非
阻塞
TCP中工作过,在
非
阻塞
情况下,读写都可能失败。如果没有可用的数据,TCP
非
阻塞
读取就会失败;如果对等方的TCP缓冲区已满,则TCP写入可能会失败(希望TCP缓冲区大小为64K)。同样,如果没有可用的数据,则
UDP
读取(recvfrom)可能会失败。但是,
UDP
写(sendto)的失败案例是什么呢?我认为在
UDP
编写中不会出现任何
非
块错误。但是这不是
UDP
写的情况,它只会发送和输出,它不会
浏览 2
提问于2013-11-25
得票数 1
回答已采纳
2
回答
用.Net内核创建
UDP
套接字
、
、
、
如何创建一个
UDP
套接字,它以
非
阻塞
的方式接收本地端点中的数据(我不知道数据来自哪个远程端口)?我在
Linux
中使用.NET核心,我认为我可以使用ReceiveAsync(),但它似乎不是这样工作的。
浏览 2
提问于2016-12-21
得票数 6
回答已采纳
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
回答
Tru64上的sendto返回ENOBUF
、
、
我目前在Tru64上运行一个旧系统,它使用sendto()函数使用了大量的
UDP
套接字。在我们的代码中,套接字用于向/从各种进程发送消息,然后最终发送到远程连接的胖客户端应用程序。我们已经将此应用程序移植到
Linux
上,问题似乎没有出现在那里。问候
浏览 2
提问于2010-05-11
得票数 2
1
回答
Python套接字问题: Windows中的socket.MSG_DONTWAIT
、
、
我有一个Python应用程序,它使用
UDP
sendto/recvfrom和socket.MSG_DONTWAIT标志。在
Linux
和Mac中,这可以很好地工作。或者,如何在Windows中执行
非
阻塞
sendto/recvfrom?
浏览 8
提问于2011-09-29
得票数 3
回答已采纳
1
回答
非
阻塞
UDP
写入返回的字节数能否少于请求的字节数?
、
、
在单工模式下,应用程序使用
UDP
发送数据,而在双工模式下,应用程序使用TCP。由于TCP套接字上的写操作可能会
阻塞
,因此我们使用
非
阻塞
IO (此发行版不支持带FIONBIO的ioctl- O_NONBLOCK和fcntl )和select()系统调用来确定何时可以写入数据。我想使用相同的基本代码进行发送,但在更高的抽象层次上在TCP/
UDP
之间切换。这对TCP非常有效。 然而,我关心的是
UDP
套接字的
非
阻塞
IO是如何工作的。要发送给定的数据缓
浏览 2
提问于2012-04-25
得票数 6
回答已采纳
2
回答
我是否应该对
UDP
使用(
非
阻塞
) NIO?
、
、
、
、
根据的说法,
UDP
就是不会
阻塞
。对
UDP
使用(
非
阻塞
) NIO API有什么优势吗?或者我应该只使用更简单的“传统”io API?
浏览 0
提问于2009-11-12
得票数 2
回答已采纳
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
回答已采纳
1
回答
BlackBerry
非
阻塞
UDP
、
我想知道,在Blackberry中是否有
非
阻塞
的
UDP
API调用。是否有需要调用的api才能使其成为
非
阻塞
的api?
浏览 1
提问于2011-02-12
得票数 0
回答已采纳
1
回答
如何实现socket的双向通信
、
、
我想在
linux
中使用TCP和
UDP
套接字进行双向通信。这个想法如下所示。这是一种传感器网络。服务器端(1)检查是否有TCP控制报文传入,如果有,根据控制报文更新系统)while (一旦它接收到100个
UDP
消息,它就必须向服务器发送TCP控制消息第(1)部分是我唯一不能解决的地方。我发现如果在短时间内在(1)部分使用带有select()的
非
阻塞
TCP套接字,系统很快
浏览 2
提问于2014-04-26
得票数 0
2
回答
802.11n上的
UDP
单播- L2肯定应答对
Linux
套接字发送缓冲区的影响
、
、
、
、
谁能解释一下当应用程序通过802.11 WiFi网络发送
UDP
单播数据报时它是如何工作的?假设
非
阻塞
的
UDP
套接字。具体来说,假设是802.11n或802.11ac和一个相当新的
Linux
内核(Android Lollipop或Debian稳定版)。具体地说,如果发送方NIC没有收到任何发送MPDU的肯定ACK,那么是否会使用netstat将内核中的send()调用返回-1和套接字发送队列显示为
非
空?NIC会重复发送相同的MPDU吗?
浏览 0
提问于2015-11-24
得票数 0
2
回答
非
阻塞
UDP
套接字.NET“
非
阻塞
套接字操作不能立即完成”异常
、
、
、
、
我在C#中编写了一个小型
UDP
客户端服务器类,用于在
Linux
和Windows计算机之间提供通信。由于应用程序,我需要快速,
非
阻塞
操作的
UDP
套接字。由于其中一个客户端是
Linux
,所以我不得不使用C#下的代码编组。_
浏览 2
提问于2011-04-21
得票数 2
1
回答
C#单套接字/网络库
、
、
、
下面是我需要在其中包含的一些特性:异步TCP和
UDP
(
非
阻塞
)事件驱动简单我测试过: https://netsockets.codeplex.com/ -这个很棒,但是它缺少
UDP
(当前的选择)。
浏览 0
提问于2014-05-19
得票数 1
2
回答
什么时候
UDP
sendto()
阻塞
?
、
、
在
UDP
套接字上使用默认(
阻塞
)行为时,在哪种情况下调用sendto()会
阻塞
?我主要对
Linux
的行为感兴趣。 对于TCP,我知道如果发送窗口已满,拥塞控制会使send()调用
阻塞
,但是
UDP
呢?它有时甚至会
阻塞
,还是只是让数据包在较低层被丢弃?
浏览 10
提问于2010-11-12
得票数 33
回答已采纳
1
回答
如何在QNX中将
UDP
套接字设置为
非
阻塞
、
、
、
我在QNX操作系统上用C++编写了一个
UDP
数据报接收器,我想执行
非
阻塞
的recvfrom()调用。 建议我可以使用ioctl()以某种方式将套接字置于
非
阻塞
模式。不幸的是,帮不了什么忙。谁能告诉我我必须传递给ioctl()以将套接字设置为
非
阻塞
的参数?
浏览 4
提问于2011-11-01
得票数 2
回答已采纳
2
回答
在
Linux
中以
非
阻塞
方式读取原始输入
、
、
我正在研究
Linux
内核,特别是输入子系统。我对读取不同输入事件(主要是键盘和鼠标)的/dev/ input /eventX设备感兴趣。我想知道
浏览 3
提问于2013-08-31
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
对象存储
云直播
腾讯会议
活动推荐
运营活动
广告
关闭
领券