gpt4 book ai didi

c - Dart RawSockets 有什么用?

转载 作者:IT王子 更新时间:2023-10-29 07:11:53 24 4
gpt4 key购买 nike

我的意思是,我已经阅读了有关 Dart RawSockets 的问题并阅读了 API,但我不清楚如何使用它们。 Dart RawSockets 是否与 C rawsockets 相同?

另外,Dart RawSockets 和普通的 Sockets 有什么区别?

最佳答案

Socket 是一个更高层次的概念。它实现了一个字节的Stream(实际上是字节数组)和一个IOSinklisten 流,到达套接字的数据出现在流中。当您想通过套接字发送数据时,将其添加到接收器并离开。

RawSocket 是较低级别的概念。现在,不是获取字节流,而是告诉您何时可以读取字节。 (当数据可用时,你会得到一个事件流,告诉你。然后你负责调用 read 来收集它们。)这允许你在使用 select 以了解有数据可用,这样您在尝试读取数据时就不会阻塞。

Dart 的流使您免除了选择/阻止读取/不同语言的不同阅读器线程的大部分责任。从 Socket 读取数据时,您无需担心,数据在可用时才到达流中。

请注意只有一个 RawDatagramSocket。这是有道理的,因为 UDP 数据包是离散的,而不是字节流。 UDP 套接字只是告诉您可以读取一个数据包,然后您就可以读取它。

关于c - Dart RawSockets 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55739374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com