问题标签 [datagram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6561 浏览

java - 通过 UDP 传输字节缓冲区

您能否提供一个通过 UDP 数据报在两个 java 类之间传输的字节缓冲区的示例?

0 投票
4 回答
3735 浏览

unix - AF_UNIX 本地数据报套接字的自动命名?

我正在使用 unix 本地套接字(AF_UNIX 地址系列,即不是 UDP)上的数据报实现一个简单的服务。服务器绑定到一个公共地址,它接收请求就好了。不幸的是,在回复时,sendto除非客户端也被绑定,否则会失败。(常见的错误是Transport endpoint is not connected)。

绑定到一些随机名称(基于文件系统或抽象)有效。但我想避免这种情况:我是谁来保证我选择的名字不会发生冲突?

unix 套接字的流模式文档告诉我们,connect如果它们还没有抽象名称,那么它们将在时间分配给它们。这样的功能可用于面向数据报的套接字吗?

0 投票
3 回答
21037 浏览

java - Java 中的非阻塞 UDP I/O 与阻塞 UDP I/O

非阻塞 TCP/IPSocketChannelSelectorNIO 帮助我用少量线程处理许多 TCP/IP 连接。但是 UDPDatagramChannels呢?(我必须承认我对 UDP 不是很熟悉。)

DatagramChannel即使未在阻塞模式下运行,UDP 发送操作似乎也不会阻塞。是否真的存在DatagramSocket.send(DatagramPacket)由于拥塞或类似原因而导致阻塞的情况?我真的很好奇是否存在这种情况以及生产环境中存在哪些可能的情况。

如果DatagramSocket.send(DatagramPacket)实际上没有阻塞并且我不会使用已连接DatagramSocket并仅绑定到一个端口,那么将非阻塞模式与DatagramChanneland一起使用没有优势Selector吗?

0 投票
3 回答
946 浏览

sockets - 使用单个 send() 调用发送多个数据报?

当基于数据报的套接字(原始套接字或 UDP)与收集式发送一起使用时,所有数据都连接起来形成一个 IP 数据包。有没有办法使用一次调用发送多个数据报?

0 投票
1 回答
2299 浏览

java - 使用 NIO DatagramChannel 是否需要处理部分读/写的数据包?

使用 SocketChannel 时,需要保留读写缓冲区来处理部分写入和读取。

我怀疑在使用 DatagramChannel 时可能不需要它,但信息很少。

故事是什么?

我是否应该反复调用(非阻塞)receive(ByteBuffer),直到我得到一个空值来读取所有等待的数据报?

在非阻塞模式下发送时,我是否可以依靠 send(ByteBuffer, SocketAddress) 发送整个缓冲区或完全拒绝它,或者我是否需要保留部分写入的缓冲区?

0 投票
2 回答
2114 浏览

c# - 计算 C# UdpClient.Send() 数据报中的字节数

在 C# 中,为了使用 UdpClient.Send() 方法,我必须提供要发送的字节数作为参数之一。

如何在发送之前计算数据报中的字节数?

0 投票
4 回答
650 浏览

java - 这个说法在java中正确吗?

我想使用数据报套接字在两台计算机之间进行数据传输。我以这种方式使用以下行:

但是当我使用上述语句时,我得到了这个错误:“可能失去精度”

所以我以这种方式将 int 转换为字节:

上面的声明现在有效吗???

0 投票
3 回答
5659 浏览

networking - 断开并重新连接已连接的数据报套接字

我正在尝试创建一个基于数据报套接字(UDP)的迭代服务器。它调用连接到它从第一个 recvfrom() 调用获得的第一个客户端(是的,我知道这不是真正的连接)。在为这个客户端提供服务后,我断开 UDP 套接字(使用 AF_UNSPEC 调用连接)然后我调用 recvfrom() 从下一个客户端获取第一个数据包。

现在的问题是,在循环的第二次迭代中调用 recvfrom() 将返回 0。我的客户端从不发送空数据包,所以会发生什么。

这就是我正在做的事情(伪代码):

编辑:我发现我的客户端错误地发送了一个空包。现在我的问题是如何让客户端等待获得服务而不是向任何地方发送请求(服务器连接到另一个客户端并且不为任何其他客户端提供服务)。

0 投票
1 回答
5911 浏览

java - 在java中使用数据报将视频/音频从客户端发送到服务器?

大家好,我对 UDP 和数据报有点问题。我应该创建一个服务器,它将从客户端获取请求以在同一目录中发送文件。然后 UDP 服务器将获取此文件(视频),将其放入数据报并发送。我想我知道该怎么做,但我不能把文件放在数据报中。我把它放在二进制形式,所以请记住这一点。

到目前为止,这是我的代码:编辑:顺便说一下,这是服务器,我一直遇到 BufferedInputReader 和 OutputReader 的问题,所以请记住这一点:)

0 投票
1 回答
8814 浏览

java - 如何在java中通过UDP发送音频流?

我有一个问题,我已将 MediaLocator 设置为麦克风输入,然后创建了 Player。我需要从麦克风中获取声音,将其编码为一些质量较低的流,然后通过 UDP 将其作为数据报包发送。这是代码,我在网上找到了大部分代码并将其改编为我的应用程序:

}

当我运行接收器类时,唯一发生的事情就是我从发送器类听到这个播放器。而且我似乎看不到 TargetDataLine 和 Player 之间的联系。基本上,我需要获取声音格式播放器,并以某种方式将其转换为字节[],因此我可以将其作为数据报发送。有任何想法吗?一切都是可以接受的,只要它有效:)