草庐IT

c# - 多个接收者的消息广播

我有一个发送消息的主窗体和作为单独应用程序运行的随机数量的接收窗体(C#4.0)。每次随机数量的表单中有一个收到消息,但收到消息后其他人将不再收到。我已经尝试过使用UDP、TCPIP、MSMQ进行此操作,但似乎效果不佳。发送方和接收方在同一系统上运行。任何人都可以向我推荐一种方法来广播一条消息,该消息会一直保持在某种队列中,直到所有表单都收到它,或者它可能会一直保持在该队列中直到应用程序关闭,但是如何...?在此先感谢大家!亲切的问候卫斯理 最佳答案 多播MSMQ您可以使用MSMQwithMulticast选项(在尝试之前检查您的W

c - 如何连接到 c 中的 bit torrent tracker

我想连接到一个bittorrenttracker,http://tracker.thepiratebay.org.gethostbyname()一直返回null,我应该如何解决这个问题?您还看到此代码还有其他问题吗?intsock;structsockaddr_inservAddr;intportNum=80;if((sock=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP))h_addr,hp->h_length);servAddr.sin_port=htons(portNum);}//sendrequesttotrackerserverif(send(s

tcp - udp单播比tcp快吗?

我需要每秒将1000个小对象从服务器程序推送到千兆局域网上的100个客户端,所以我需要最快的方法,谢谢。我知道usp和TCP之间的区别-我在udp之上有一个层以使其可靠和有序。我应该使用哪个,为什么?Udp单播或TCP。由于路由器原因,我无法使用Udp多播。谢谢 最佳答案 客户端之间可以相互通信吗?最终,您的服务器只有有限数量的电线,这限制了您的速度。让客户端完成一些分发工作可以为您提供更多线路,因此比任何协议(protocol)更改都可以使您的速度成倍增加。TCP本质上是具有可靠性层的UDP-正是您所拥有的。然而,TCP是在硬件中

tcp - 我应该使用 TCP 还是 UDP?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我的应用程序需要将视频数据从服务器逐帧发送到客户端。我在使用TCP还是UDP之间犹豫不决。从我的测试中,我发现了以下一些结果:TCP:非常容易实现。UDP:要向客户端发送一个帧(大约50KB),如果我为每个帧创建1个UDP包,那么发送总是丢失帧。所以我必须把每一帧分成很多UDP包。这使我的算法更加复杂,因为UDP协议(protocol)可能会丢失包,并且包可能会乱序传送。此外,如果每个UDP包中的数据长度

c - "Sliding Window"- 是否可以增加协议(protocol)的可靠性并避免流量控制实现?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。作为个人项目的一部分,我正在制作一个可靠的应用程序级协议(protocol)(封装在UDP中)。为了实现可靠性,我必须跟踪我发送了哪些数据包,以及在另一端接收了哪些数据包。这是在滑动窗口的帮助下完成的,它还保持了流量控制。除了标准的滑动窗口/流量控制技术之外,是否还有其他方法可以实现可靠性。如果否,是否有人会分享他的经验/设计原理/代码并在这篇文章中进行讨论。如果是,您是否已实现它,或者您是否知

Python Socket 编程(TCP 与 UDP)

我打算设计一个从多个客户端接收数据的服务器,服务器不需要将任何东西发送回客户端,虽然STATUS_OK仍然很酷但不是必需的。我知道Python套接字模块、扭曲框架的基础知识,但我的问题是,我应该使用UDP还是TCP?需要保持连接的客户端。我希望你们能理解我的问题,谢谢你们在这里的精彩帮助 最佳答案 在遇到可以使用UDP缓解的性能问题之前,您应该始终使用TCP。TCP失败时更容易理解。 关于PythonSocket编程(TCP与UDP),我们在StackOverflow上找到一个类似的问题

c++ - p2p 开源库 tcp/udp 组播支持

我的计算机上正在运行某个应用程序。同一应用程序可以在局域网或世界不同地方的多台计算机上运行。我想在他们之间进行交流。所以我基本上想要一个p2p系统。但我将永远知道哪些计算机(特定IP地址)将是对等方。我只希望同龄人具有加入和离开功能。最重要的一个目标是通信速度和所需时间。我假设对等点之间的简单UDP多播(如果存在类似的东西)将是最快的解决方案。即使丢失,我也不想重新传输消息。我应该使用现有的p2p库吗?libjingle等或者只是从头开始创建一些基本框架,因为我的需求非常基本? 最佳答案 我认为您忽略了UDP的要点。从某种意义上说,

c# - WAN 上的 TCP 和 UDP 套接字服务器

我正在尝试创建一个同时使用TCP和UDP的服务器和客户端。服务器在LAN设置中运行良好,但在通过WAN传输时未收到UDP消息。我相信这是因为用于发送数据的UDP套接字在NAT表中的保留时间不足以返回任何信息。有没有办法让UDP端口在路由器中保持打开状态(没有端口转发)或使用与已连接的TCP连接相同的UDP端口?提前致谢。 最佳答案 如果您没有获得任何流量,它可能只是被防火墙阻止了。在这种情况下它不是关于转发,而是关于打开端口。大多数(如果不是全部)NAT/防火墙设备在NAT被打穿一个洞后将允许双向的UDP流量。也就是说,如果我的笔记

tcp - 为什么TCP/UDP checksum最后补齐了?

在TCP/UDP中,发送方对16位字进行异或运算,最后的结果再次补码得到校验和。现在,这样做是为了使接收方可以使用数据和校验和重新计算校验和,如果结果都是1,则可以确定(好吧,几乎!)没有错误。我的问题是为什么我们必须在发件人处对结果进行最终补充。我们不妨这样发送它,以便当接收方重新计算校验和时,它必须检查所有零,而不是像其他情况那样检查所有零。 最佳答案 因为0有特殊的意义。它用于指示要忽略校验和计算。 关于tcp-为什么TCP/UDPchecksum最后补齐了?,我们在StackOv

tcp - 在 RUDP、UDT、LWIP、DCCP 中广播

在ReliableUDP(RUDP)、UDT、LWIP和DCCP协议(protocol)中,哪些协议(protocol)可以支持BROADCAST机制?哪个更可靠并且有拥塞控制? 最佳答案 “可靠的UDP”是许多不同实现相关的通用名称。例如,Plan9'sRUDP是一种简单可靠的点对点数据报协议(protocol),具有基本的流量控制。“UDT”是另一种点对点协议(protocol),但针对当前TCP拥塞逻辑失败的高延迟高带宽环境,例如洲际文件传输。该协议(protocol)以拥塞为代价实现可靠传输,数据包通过大量推送以减少往返AC