草庐IT

UDP-only

全部标签

python - 使用 python 创建用于发送 TCP 和 UDP 数据包的客户端和服务器程序

如果用户询问他是否愿意通过TCP或UDP发送,我必须使用python编写客户端和服务器程序。服务器只是发回数据,因为我想知道它需要多长时间(RTT)。服务器如何检测客户端发送的是TCP还是UPD数据?这仅用于教育目的,不能用于生产。到目前为止,我有以下代码:客户端.pyimportsocketnumerofpackets=int(raw_input("Howmanypacketsshouldbesent?\n>"))connectiontype=raw_input("TCPorUDP?\n>")hostname='localhost'i=0ifconnectiontype!="TCP"

http - 通用 TCP、UDP、HTTP 反向代理设置

我喜欢hipache,一个使用Redis的HTTP反向代理,但不支持(以我的经验)TCP。我真的很喜欢轻松地编写我的基本(例如HTTP)反向代理需求的脚本,但是缺少任何UDP或TCP反向代理会导致问题——我必须经常记住foo.com:49182是mysql,而不仅仅是使用mysql-test.foo.com.我能想到的唯一“解决方案”是在不同的端口(可能是8080)上设置一个TCP反向代理,并将其用于需要直接TCP代理的应用程序,例如mysql-test.foo.com:8080。UDP也类似。有没有更好的方法? 最佳答案 hipa

java - Android 音频流的 UDP 或 TCP

我的最终目标是将用户的语音输入流式传输到Android设备再到桌面应用程序。对于Android设备,显然会运行基于Java的Android应用程序。对于桌面应用程序,我正在考虑编写一个Java小程序来接受流。这些是维基百科解释的TCP和UDP的优点和缺点TransmissionControlProtocolisaconnection-orientedprotocol,whichmeansthatitrequireshandshakingtosetupend-to-endcommunications.Onceaconnectionissetup,userdatamaybesentbi-d

networking - 为什么 UDP 广播以比 TCP 低得多的速度阻塞路由器?

想法:我们有一个生成大约200-300Mb/s数据的成像系统,这些数据目前通过以太网电缆传输到计算机,计算机解压缩它们并显示实时图像。我们正试图通过让系统通过以太网电缆将数据包传递到路由器,然后路由器将udp数据包广播到计算机(或最终-多台计算机),从而使系统在LAN上无线化。在最高层看起来有点像这样:之前:成像设备->cat-5->计算机(在达到所需的300Mb/s时工作正常)之后:成像设备->cat-5->路由器->802.11ac无线->电脑(超过5Mb/s的巨大(50%+)数据丢失)-电脑:surfacepro3-路由器:BuffaloAirStationAC1750DD‑WR

networking - UDP 负载平衡使用自定义平衡方法, session ID 位于 UDP 主体内

我正在尝试设置一个能够对UDP流量进行负载平衡的负载平衡解决方案。就我而言,我有几个不同的服务器将UDP包发送到负载均衡器。在每个UDP包体中,都有一个MSG-ID字段。理想情况下,我想根据该MSG-ID将UDP流量负载平衡到一组服务器。换句话说,应该将两个具有相同MSG-ID的UDP包发送到同一台服务器(因为我想将两个具有相同MSG-ID的UDP包组装成一个完整的包以供进一步处理)。但如果不可能,那么基于源/发件人IP的解决方案可能就足够了。Haproxy不支持UDP,所以我正在检查nginx。但是似乎只有nginx-plus(不是免费的解决方案)允许您基于ip_hash方法进行负载

javascript - Node.js websockets 使用 UDP 或 TCP

如何知道在Nodejs上是哪种方法使用了websocket?UDP还是TCP?我该如何改变呢?还是取决于其他因素?我在node.js上使用服务器,在javascript上使用客户端。我不知道哪种类型的协议(protocol)使用我的连接。我想要UDP,因为这是游戏服务器。谢谢 最佳答案 Websockets是TCP。这是一个discussionofthisissue关于游戏。他在那里介绍了websockets、webrtc(UDP的可能选择,但很复杂)、quic(仅在谷歌浏览器中)和他的netcode.io.

c# - 为 TCP/UDP 传输安全地标记数据包的开始/结束

我正在编写一个基于客户端/服务器的应用程序,该应用程序在本地网络上运行,以在客户端和服务器之间交换数据,我创建了一个非常简单的NetworkCommand对象,该对象被转换为byte[]并使用TCP或UDP发送。问题是正确地标记了end-of-packed,现在我使用了byte[]{0,0,0}和数据包结束标记,但在整个数据包本身中似乎重复了太多次。那么,我如何安全地标记end-of-packet?网络命令.csusingSystem;usingSystem.IO;namespaceCybotech.Common{publicenumCommandType{NeedIP=1,IPDat

node.js - Node : TCP socket server only returns data the first time

我正在尝试在node.js中编写一个小型中继脚本,用于监听本地套接字上传入的TCP连接,并在获得连接时将流量转发给第3方。它还必须从第3方获取任何返回的数据并将其发送回原始本地套接字。我试过像http://delog.wordpress.com/2011/07/19/a-tcp-relay-mechanism-with-node-js/这样的代码它确实有效,但它要求发送者是一个正在监听套接字本身的服务器,我的实用程序旨在与任何试图创建出站TCP连接的程序一起使用。不幸的是,我遇到的问题是第一次一切都很好,客户端将数据发送到“路由器”程序,路由器将其转发到另一台服务器,然后从客户端返回数

tcp - 是否可以在两个软件之间同时建立 TCP 和 UDP 连接

我目前正在使用客户端-服务器模型在Python中开发一款高度响应的游戏。客户端和服务器之间的数据交换速度需要非常快。是否可以同时建立udp和tcp连接?Udp仅在游戏期间使用。Tcp将用于需要更多可靠性的消息,如连接、名称更改、聊天...是不是也是一种很好的思路?或者我应该只使用UDP吗? 最佳答案 是的,这可能是个好主意。使用UDP,单个丢失的数据包不会使整个流停止。另一方面,您需要重试和拥塞控制。我会尝试使用UDP发送消息,如果在短时间内没有确认到达,则在保持打开的TCP连接上重新发送它们。这应该将99%的负载转移到UDP,并使

networking - 处理实时游戏中的网络丢包 - TCP 和 UDP

为我的第一个网络游戏阅读了很多这方面的资料,我了解了TCP与UDP的保证交付与交付时间的核心区别。我也读过截然相反的观点,实时游戏应该使用UDP还是TCP!;)没有人很好地介绍如何处理丢包问题。TCP:阅读一篇使用TCP获得FPS的文章,该文章建议仅使用TCP。使用TCP客户端输入的权威服务器将如何处理丢包和突然的史诗般的滞后峰值?游戏是否只​​是暂停片刻然后从停止的地方继续?TCP数据包丢失是否非常罕见,以至于这并不是什么大问题,TCP上的FPS实际上运行良好?UDP:另一篇文章建议只使用UDP。显然,像“throw手榴弹”这样的一次性UDP事件不够可靠,因为它们有时不会触发。您是否