networking相关内容

UDP IP 分片和 MTU

我试图了解我在发送 UDP 数据包的上下文中看到的一些行为. 我有两个小的 Java 程序:一个传输 UDP 数据包,另一个接收它们.我在通过单个交换机连接的两台计算机之间的网络上本地运行它们. 两个网络适配器上的 MTU 设置(由/sbin/ifconfig 报告)均为 1500. 如果我发送大小为 的数据包1500,我收到了.预计. 如果我发送 1500 的数据包 尺寸 如 ..
发布时间:2022-01-22 17:07:17 服务器开发

通过 UDP 从服务器向 iPhone 发送大量实时处理的数据

我正在实现一个远程应用程序.服务器将处理 &以动画形式实时渲染数据.(准确的说是一系列图片)每次渲染一张图片,都会通过UDP传输到接收端的iPhone客户端. 我研究了一些 UDP,我知道以下几点: UDP 的最大大小约为 65k. 但是,iPhone 似乎只能接收 41k 的 UDP 数据包.iPhone 似乎无法接收比这更大的数据包. 发送多个数据包时,会丢弃许多数据包 ..
发布时间:2022-01-22 17:06:48 移动开发

NAT 后面的 UDP 打孔

我正在尝试在 Java 中实现一个简单的 UDP-Holepunching 草图来测试它的概念并稍后在我的 C/C++ 应用程序中使用它. 概念: 根据维基百科,我将这个概念理解为:假设 A 和 B 是一个未定义的网络结构背后的客户端,而 C 是一个众所周知的公共可达服务器. A向服务器C发送一个数据包,服务器保存它的IP地址和端口.C 将获得 A 的 NAT 的公共 IP 地址 ..
发布时间:2022-01-22 17:04:53 Java开发

像UDP一样广播,具有TCP的可靠性

我正在开发一个完全在单个网络中运行的 .net 解决方案.当用户对系统进行更改时,我想发布一个公告,让其他人听到并采取相应的行动.有没有一种方法可以让我们广播出这样的消息(就像 UDP 会让你做的那样),同时保持有保证的传输(如 TCP)? 这是在一个小型网络(30 多个客户端)上,如果这会有所作为的话. 解决方案 几乎所有游戏都需要 UDP 的快速反应特性(在较小程度上,无连接特性 ..
发布时间:2022-01-22 17:04:17 C#/.NET

防止 TCP 连接导致 UDP 丢包

考虑典型的多人游戏服务器. 允许连接到服务器的客户端下载地图和脚本.创建 TCP 连接来完成此操作很简单. 但是,服务器必须继续通过 UDP 响应其余客户端.如果允许 TCP 下载连接使可用带宽饱和,则 UDP 流量将严重遭受丢包的影响. 处理此问题的最佳方法可能是什么?通过跟踪时间和 send() 在固定的时间间隔以某种方式“限制" TCP 上传连接绝对是一个好主意.这样,如果 ..
发布时间:2022-01-22 17:00:42 其他开发

如何在同一台机器上用 Java 测试广播 udp 数据包?

我可以在我的机器上执行 UDP 广播数据包吗?我没有网络,我只有便宜的 linux 盒子.我想让一个服务器广播一个数据包,而两个或多个客户端在同一台机器上接收它们.那可能吗?我使用什么 IP? @gravyface 给了我希望,但我尝试了:1)服务器发送到 127.255.255.255:54321,客户端监听 0.0.0.0:54321.2) 服务器发送到 127.255.255.255: ..
发布时间:2022-01-22 16:58:09 Java开发

在 TCP 流中发送消息

TCP 是基于流的,这意味着您发送的字节不一定包含在“消息"中,因此接收方可能会收到半条消息或三分之二的消息. 因此,在每条消息都是固定大小的游戏中,如果我收到消息的一部分,我可以将其保存在缓冲区中,直到收到另一部分.这有点乏味,但是还有其他基于消息的可靠协议吗?可能有,但没有像 TCP 和 UDP 那样在操作系统中实现,所以我必须使用一些库,只要它易于使用就可以了. 我总是可以制作一 ..
发布时间:2022-01-22 16:57:46 其他开发

数据报 (UDP) 接收器不工作 - 不接收广播数据包

我遇到了 UDP 数据报的问题,因为我无法从服务器接收 UDP 数据包,但我可以发送它们.我查看了许多示例,但无法弄清楚我的代码有什么问题.我终于从不同的网站找到了问题所在的提示. 因此,我在此处更新了问题,以防将来可能对某人有所帮助.下面的代码在 LG 手机上通过 WiFi 网络运行,并且基于 Android Studio 4.2 (29/4/2021);SDK平台30;Kotlin 1. ..
发布时间:2022-01-22 16:57:30 移动开发

尽管所有数据包都到达,但 C# UDP 数据包丢失 (WireShark)

正如标题所说,我在 C# 中遇到了 UDP 问题.我正在尝试为 DayZ 游戏的 rcon 协议构建一个库. 我的问题是我没有收到我应该收到的每个数据包.发送命令后,服务器回复一个拆分答案.数据包头包含总数据包计数和当前数据包的索引.现在,如果我应该得到 17 个数据包,我的应用程序中只会得到 8-15 个数据包. 在使用 WireShark 进行测试后,我现在知道所有包裹都到达了我的 ..
发布时间:2022-01-22 16:55:33 C#/.NET

UDP 标头校验和不正确时是否会丢弃 UDP 数据包?

如果我打开一个原始套接字,并发送带有错误校验和的 udp 数据包,这些数据包会被 tcp/ip 堆栈丢弃吗? 解决方案 是的,他们会被删除.如果您需要更可靠的通信,最好使用 TCP. 有关更多信息,请查看以下内容:http://www.diffen.com/difference/TCP_vs_UDP UDP 不能保证数据包会被发送,更不用说接收了.但是,如果它们实际上已收到,则 ..
发布时间:2022-01-22 16:53:50 服务器开发

UDP 最大数据包大小

我检查了最大 UDP 数据包大小,发现它是 65507 字节的数据. 这是 65535-8(udp 标头)- 20(ip 标头). UDP 长度标头长度为 2 个字节,限制为 65535. 我知道我们从中减去 8,因为它是 UDP 标头的大小但如果它总是 8 为什么我们需要减去它. 对于 20 的 ip 标头长度,同样的问题. 谢谢 解决方案 UDP 数据报封装在 IP 数据 ..
发布时间:2022-01-22 16:51:51 其他开发

ios接收udp广播包

我的 REST 服务几乎已经完成了 iOS 客户端.我唯一缺少的是客户端能够在网络上侦听接收主机显示名称和用于上传的基本 URL 的 UDP 广播.网络上可能有多个服务器正在广播并等待上传. 首选异步.服务器将在设备发现它们时向用户显示,我希望用户能够在任何时间点选择服务器. 广播公司正在向 255.255.255.255 发送数据,预计不会返回任何数据. 我是 Objectiv ..
发布时间:2022-01-22 16:51:43 移动开发

在“少连接"上连接boost::asio::ip::udp::socket

我最近通过浏览网络了解了 UDP 套接字,所有解释它的页面都提到 UDP 套接字“连接较少".如果我理解正确,这意味着一个在两个套接字之间没有“连接",而是在不知道另一端是否正在侦听的情况下将数据报包发送到指定的端点. 然后我开始阅读 boost::asio::ip::udp::socket docs 并发现它提到的 API 如下: async_connect:启动异步connect. ..
发布时间:2022-01-22 16:51:11 其他开发

不同机器上的简单UDP广播客户端和服务器

以下客户端和服务器 UDP 广播代码在它们位于同一台 PC 上时可以正常工作.但是,当我将它们放在同一个 WIFI LAN 中的不同 PC 上时,什么也没有发生.我已经设法让多播版本在两台单独的 PC 上正常工作,但不是这样 :(.我已经关闭了两台 PC 上的防火墙并成功地从两台 PC 上 ping 通. 这个测试背后的想法是,我可以使用这种方法,以便客户端可以通过发送数据报包(对等发现)在 ..
发布时间:2022-01-22 16:50:03 Java开发

如何摆脱缓冲区的剩余空间?

我有一个使用数据报套接字交换消息的服务器-客户端应用程序.我最初将缓冲区大小设置为 1024 字节,因为我不知道消息的长度.当我发送小于 1024 字节的内容时,我的字符串的其余部分显示为一些奇怪的字符(空字符或者我不确定它们是如何被调用的).这是一个屏幕: 客户端代码:byte[] buf = ("这是另一个数据包.\n").getBytes();DatagramPacket packet ..
发布时间:2022-01-22 16:49:36 Java开发

多个套接字可以与 UDP 的同一端口相关联吗?

我认为多个套接字可以与同一个 TCP 端口相关联. 但是同样的事情也适用于 UDP 吗? 解决方案 在 TCP 中将多个套接字与一个端口关联的唯一方法是侦听然后接受. 这种情况下的目的是为每个传入的客户端提供一个唯一的套接字,以保持它们的字节流分开. 在 UDP 的情况下您不需要它,因为没有字节流.您可以使用单个 UDP 套接字编写整个 UDP 服务器.您只需读取,发送给 ..
发布时间:2022-01-22 16:48:21 其他开发

UDP声音传输:播放的声音有很大的噪音

我不知道如何解决这个问题.请帮帮我:) 我想将一台 PC 录制的声音数据发送到另一台 PC 并播放.(通过 UDP) 程序可能正常运行,但声音包含(?)不舒服的噪音.当我试图记录 &在一个程序序列中播放声音,它工作正常.没有噪音.如果即使在一台 PC 上使用 UDP,使用 IP 127.0.0.1,就会出现噪音.起初,我认为这是因为播放的声音在另一台 PC 中出现了,我通过制作缓冲区来 ..
发布时间:2022-01-22 16:46:24 Python