草庐IT

UDP-only

全部标签

tcp - 如何通过 tcpip/udp 发送/接收 nmea 字符串

我有一个gps接收器,它可以将数据(使用gprs连接)发送到服务器www.example.com。现在我需要一些东西来从www.example.com接收这些数据(gpsnmea字符串)(可能是为了监听某个端口......),解析这些信息并将其存储到我的数据库中。我对php和mysql有一定的了解。所以,问题是——是否可以用php和mysql来完成?如果是的话,你能指出我应该从哪里开始吗?如果没有,你能给我一些其他的建议吗?非常感谢! 最佳答案 前面的www表示http。这意味着您必须运行自己的网络服务器。但是您可能需要调查一下您的

c - getsockopt 类似 TCP_INFO 的 UDP 统计信息

我使用的是Linux内核2.6.32(x86_64),可以通过将TCP_INFO传递给getsockopt并接收tcp_info来获取TCP统计信息struct,在/usr/include/netinet/tcp.h中定义。我可以获得类似的UDP统计信息吗?(可能更少,因为没有内置的拥塞控制和重传等。但我对我能得到的任何统计数据都很满意) 最佳答案 TCP_INFO的字面意思是TCP的信息。UDP没有信息的原因是它是无状态的。没有保证传输,不是rtf,没有窗口大小,没有太多信息可提供。如果你真的想获取一些额外的信息,请查看man2r

java - java游戏使用TCP和UDP

我正在制作一个实时java游戏供我的friend们在LAN上玩。该游戏在客户端-服务器架构中运行,并且它现在对所有内容都使用UDP(用于位置更新和加入游戏)。当我和我的friend通过Internet测试游戏时,一些重要的UDP数据包丢失了(比如生成敌人的数据包)。所以我的问题是,制作实时多人游戏的最佳解决方案是什么?我可以将UDP用于必要的更新数据包,将TCP用于诸如登录、断开连接、聊天等数据包吗?我可以在同一个端口和套接字上使用这两种协议(protocol)吗? 最佳答案 只是想帮助那些偶然发现其他答案中给出的令人难以置信的糟糕

networking - TCP、UDP、SCTP、RUDP 还是 RAW?

我目前正在开发一个网络库,但我不知道应该用哪种方式创建它。该库应设计为与游戏一起使用。需要可靠和不可靠的数据包。我应该使用“TCP和UDP”、“UDP和SCTP”、“UDP并创建RUDP协议(protocol)”还是“RAW并从头开始构建所有内容”?这是一个很长的问题,让我苦苦挣扎!我认为创建一个“健壮的”RUDP协议(protocol)是最好的解决方案,但我可以做一个健壮的吗?(额外的工作不是问题)感谢您的宝贵时间。 最佳答案 每一个都是有原因的。TCP用于有点慢的可靠连接,UDP用于快速不可靠的连接,STCP不常用,因此它肯定不

networking - 防止TCP连接导致UDP丢包

考虑原型(prototype)多人游戏服务器。允许连接到服务器的客户端下载map和脚本。创建TCP连接来完成此操作很简单。但是,服务器必须继续通过UDP响应其余客户端。如果允许TCP下载连接使可用带宽饱和,UDP流量将遭受严重的数据包丢失。处理此问题的最佳方法可能是什么?通过跟踪时间以某种方式“限制”TCP上传连接似乎绝对是个好主意,并在固定的时间间隔内发送send()。这样,如果UDP数据包丢失开始更频繁地发生,则TCP连接可能会进一步受到限制。操作系统是否仍倾向于将数据捆绑在一起而不是源源不断地发送出去?我希望多久调用一次send()?我想这样做太频繁会导致数据首先被缓冲在一起,从

networking - SMS 更像 UDP 还是 TCP?

SMS的发送是更像TCP,其中发生握手以保证到达,还是更像UDP,其中“在黑暗中”发送消息并希望它到达,还是介于两者之间?附言我不确定这是否是发布此问题的最佳stackexchange站点。任何人都可以为有关此主题的问题推荐最合适的堆栈交换站点吗? 最佳答案 简短的回答:它很像TCP。消息可能无法传递,但在这种情况下,将在配置的时间段或尝试次数内重试传递。有关更多详细信息,我推荐Wikipediapageonthesubject上的技术细节或提出更精确的问题。 关于networking-

network-programming - iperf如何在udp中报告丢包

Iperf是众所周知的吞吐量计算工具。当我在我的linuxpc上使用iperf尝试udp吞吐量时,它报告了10%的数据包丢失。在UDP协议(protocol)中,数据报没有收到任何确认。但是,iperf以何种方式报告或计算数据包丢失?iperf工具如何知道传输的数据报是否收到。我想知道这个。 最佳答案 由于双方都使用了iperf,iperf确定在每个数据包之后接收什么。基本上,Iperf工具检查序列号在它收到的每个数据报中递增。如果序列号没有递增1,则数据报丢失。如果我们收到一个序列号小于前一个序列号的数据报,那么iperf会收到一

udp - Telnet 到已被使用的端口

我正在尝试使用telnet检查应用程序的端口是否打开。但是我收到以下错误:正在连接到192.168.1.10...无法在端口3001上打开到主机的连接:连接失败我假设端口已关闭,但是否也有可能该端口正在被另一个程序使用?因此,为什么我无法使用telnet进行测试?现在如果是这种情况,为什么有些端口允许来自客户端的同时连接而有些端口不允许呢? 最佳答案 当某些程序在该端口上列出时,所有端口都允许来自客户端的同时连接。Connectfailed表示端口未监听或防火墙干扰。您可以使用netstat或Windowstcpview查看该端口是

tcp - BitTorrent 将数据包作为 UDP 而不是 TCP 发送

我正在使用WireShark分析BitTorrent,根据规范和Wiki,BitTorrent应该使用TCP进行交换,但我正在使用UDP进行整个交换。我阅读了应该使用UDP的DHT,但据我了解,它仅使用UDP将您的IP信息存储在哈希表中。交换应该仍然在TCP中,对吗?为什么我在UDP数据包交换而不是TCP中获取整个下载? 最佳答案 BitTorrent协议(protocol)已扩展为使用UDP与uTP-uTorrenttransportprotocol(BEP29)扩展名。 关于tcp-

c - 如何在 C 中枚举 Windows 上绑定(bind)的 UDP/TCP 套接字

假设您无权访问SOCKET处理程序。 最佳答案 使用GetUdpTable或GetTcpTable函数。下面的GetTcpTable示例代码(来自http://msdn.microsoft.com/en-us/library/aa366026%28VS.85%29.aspx)//NeedtolinkwithIphlpapi.libandWs2_32.lib#include#include#include#include#pragmacomment(lib,"iphlpapi.lib")#pragmacomment(lib,"ws2_