networking相关内容

UDP 打孔.让服务器与客户端对话

我阅读了很多关于如何实现 UDP 打孔的文章,但由于某种原因我无法使其工作. 对于不熟悉 udp 打孔的人,这里是我自己的定义: 目标是能够在两个客户端(客户端 A和客户端 B) 在服务器的帮助下.所以客户端 A 连接到服务器并发送它的信息.客户 B 也是如此.服务器具有必要的信息,以便客户端 A 能够向客户端 B 发送数据,反之亦然.因此,服务器将该信息提供给两个客户端.一旦两个客户 ..
发布时间:2022-01-22 16:45:50 C#/.NET

为什么 RTP 使用 UDP 而不是 TCP?

我想知道为什么在 RTP 中使用 UDP 而不是 TCP?主要的 VoIP 工具只使用 UDP,因为我入侵了一些 VoIP OSS. 解决方案 正如 DJ 所指出的,TCP 是为了获得可靠的数据流,并且会减慢传输速度,并重新传输损坏的数据包,以实现这一目标. UDP 不关心通信的可靠性,不会减慢或重传数据. 如果您的应用程序需要可靠的数据流,例如从网络服务器检索文件,则选择 T ..
发布时间:2022-01-22 16:43:48 其他开发

如何为我的应用程序选择多播地址?

我应该如何选择 IPv4 多播地址供我的应用程序使用?我可能需要不止一个(最终可能需要整个范围),但只是想避免与其他应用程序发生冲突. 数据包将完全包含在一个管理域中,可能是一个 LAN 如果我的应用程序的多个独立实例在同一个网络上使用,它们可以各自使用自己的多播地址 - 但如果不这样做,它们无论如何都可以共存,它们只会有少量忽略彼此的数据包的开销. 我的数据包已经包含一个“幻数"以避免 ..
发布时间:2022-01-22 16:42:57 其他开发

Android静默发送udp广播失败

我想通过使用网络的广播地址来实现服务发现.我正在使用 WireShark 嗅探数据包,以确认我的 UDP 数据包没有被发送.网络代码未在 UI 线程上运行.DatagramSocket.send 调用返回,没有抛出异常,但是包括 WireShark 在内的其他程序看不到任何异常.我已经验证了getWifiBroadcastAddress返回的地址实际上是我网络的广播地址. 我已经通过编写 C ..
发布时间:2022-01-22 16:42:16 移动开发

UDP 地址已在使用中?

我正在关注 http://docs.oracle 上的 UDP 教程.com/javase/tutorial/networking/datagrams/broadcasting.html,我已经复制了所有代码并编译了它,现在如果我先编译客户端然后编译服务器,服务器会在控制台中打印出来p> 线程“main"java.net.BindException 中的异常:地址已在使用中:无法绑定在 java ..
发布时间:2022-01-22 16:41:08 Java开发

使用 UDP 的 netcat 的奇怪行为

我注意到在使用 netcat 和 UDP 时出现了一种奇怪的行为.我启动了一个监听 UDP 端口的 netcat 实例(实例 1): nc -lu -p 10000 所以我启动了另一个 netcat 实例(实例 2)并尝试将数据报发送到我的进程: nc -u 127.0.0.1 10000 我看到了数据报.但是如果我关闭实例 2 并重新启动 netcat(实例 3): nc -u 127 ..
发布时间:2022-01-22 16:37:10 其他开发

TCP 是在每个数据包上发送 SYN/ACK 还是仅在第一个连接上发送?

我有一个 TCP 服务器,它监听传入的客户端,然后每秒向它发送一个数据包.我想知道,SYN/ACK 数据包是否只在初始连接时发送,所以它看起来像这样: 同步确认数据数据数据 还是像这样随每个数据包一起发送? 同步确认数据同步确认数据同步确认数据 另外,如果是第一种情况,如果你只是长时间保持连接打开,UDP 优于 TCP 有什么 ..
发布时间:2022-01-22 16:36:09 其他开发

“inet_pton":找不到标识符

我试图在我的程序中包含以下代码,但会出现错误('inet_pton': identifier not found). //IPv4:结构 sockaddr_in ip4addr;整数;ip4addr.sin_family = AF_INET;ip4addr.sin_port = htons(3490);inet_pton(AF_INET, "10.0.0.1", &ip4addr.sin_add ..
发布时间:2022-01-22 16:31:18 服务器开发

当 tcp/udp 服务器的发布速度快于客户端的消耗速度时会发生什么?

我试图了解当服务器发布(通过 tcp、udp 等)的速度快于客户端使用数据时会发生什么. 在一个程序中,我知道如果一个队列位于生产者和消费者之间,它会开始变大.如果没有队列,那么生产者根本无法生产任何新东西,直到消费者可以消费(我知道可能会有更多变化). 我不清楚当数据离开服务器(可能是不同的进程、机器或数据中心)并发送到客户端时会发生什么.如果客户端根本无法足够快地响应传入的数据,假 ..
发布时间:2022-01-22 16:30:55 其他开发

跨子网的 UDP 广播数据包

是否可以通过路由器将 UDP 广播数据包发送到不同的子网?我正在编写一个应用程序来发现网络上的某些设备,而 PC 可能与它正在寻找的设备位于不同的子网中. 解决方案 是,不是. 这实际上是可行的,只要中间路由器没有配置 no ipdirected-broadcasts 或类似配置.但是现在这是默认设置,因为允许正常广播通过路由器是 DoS 问题. 如果您真的想跨子网广播,那么您 ..
发布时间:2022-01-22 16:30:05 其他开发

如何监控 Linux UDP 缓冲区可用空间?

我在 linux 上有一个 java 应用程序,它打开 UDP 套接字并等待消息. 在高负载下几个小时后,出现数据包丢失,即数据包被内核接收但我的应用程序没有收到(我们在嗅探器中看到丢失的数据包,在 netstat 中看到 UDP 数据包丢失,我们没有在我们的应用日志中查看这些数据包). 我们尝试扩大套接字缓冲区,但这无济于事 - 我们开始丢失数据包,但仅此而已. 为了调试,我想 ..
发布时间:2022-01-22 16:27:34 服务器开发

什么时候适合使用 UDP 而不是 TCP?

由于 TCP 保证数据包传递,因此可以被认为是“可靠的",而 UDP 不保证任何东西,数据包可能会丢失.在应用程序中使用 UDP 而不是通过 TCP 流传输数据有什么优势?在什么样的情况下,UDP 是更好的选择,为什么? 我假设 UDP 更快,因为它没有创建和维护流的开销,但如果某些数据永远不会到达其目的地,那不是无关紧要吗? 解决方案 这是我最喜欢的问题之一.UDP被误解了. ..
发布时间:2022-01-22 16:26:29 其他开发

UDP vs TCP,它快多少?

用于一般协议消息交换,可以容忍一些丢包.UDP 比 TCP 效率高多少? 解决方案 UDP 比 TCP 快,原因很简单,因为它的不存在确认包 (ACK) 允许连续的数据包流,而不是 TCP 确认一组数据包,使用 TCP 窗口大小和往返时间 (RTT) 计算得出. 更多信息,我推荐简单但非常容易理解的Skullbox解释(TCP vs. UDP) ..
发布时间:2022-01-22 16:24:58 其他开发

处理 WinRT StreamSocket 断开连接(服务器端和客户端)

我正在为 Windows 8/WinRT 编写一个应用程序,它使用 StreamSocket API 与服务器进行流式连接.也就是说,服务端将数据流到客户端,有时带有meta标签,可以随时断开连接. 我遇到的问题是我不知道如何检测服务器何时断开连接.StreamSocket 类、其输入或输出流或 DataReader/DataWriter 类上似乎没有任何与连接状态有关的事件或属性. ..
发布时间:2022-01-21 14:26:21 C#/.NET

是否可以用 C# 编写一个将在 Windows 8 Metro 环境中运行的 Ping 类?

由于 Windows 8 上的 Metro 环境缺少大部分 .NET 框架类库或包含大幅缩减的版本,是否可以从 Metro 风格应用程序执行“ping"?支持 Sockets,所以我想有希望,但我不知道从哪里开始,因为每个“C# Ping"示例都使用 System.Net.NetworkInformation.Ping,这在 WinRT 中不可用. 我还查看了 Mono 的源代码,他们的 p ..
发布时间:2022-01-21 14:12:24 C#/.NET

VB6 异步 Tcp 客户端截断传入的消息

我有一个向注册的 VB6 Tcp 客户端发送消息的 C# Tcp 服务器.使用 WinSock 以异步方式接收消息.因此,“完成"消息出现的 VB6 部分如下所示: Private Sub wskConnect_DataArrival(ByVal bytesTotal As Long)将 sBuff 调暗为字符串wskConnect.GetData sBuff, vbString '-- 检索发 ..
发布时间:2022-01-20 19:23:00 其他开发

Lua:获取网页

我想获取网页并以字符串形式获取结果,但我不知道该怎么做.我在网上搜索并没有找到如何操作. 解决方案 我会简单地使用 Lua Socket 附带一个 http 子模块.您可以简单地使用 http.request 将网页放入您想要的任何容器中(默认为字符串,但您可以使用表、文件、stdio,...使用 ltn12 过滤器和接收器). 举个例子: 本地http=require'socke ..
发布时间:2022-01-20 15:04:23 其他开发