按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我目前正在用Java开发一个通过套接字进行通信的客户端/服务器应用程序。我对这类编程的经验非常有限,而且我只做过来自客户端的请求/来自服务器类型的应用程序的响应。现在,我想反过来做。也就是说,客户端连接到服务器,然后等待服务器定期向它推送消息。问题是:我该如何着手创建这样的应用程序?或者更重要的是:如何让服务器在不首先收到请求的情况下写入客户端套接字,以及
我知道这两种协议(protocol)之间的区别和优缺点,虽然不是很清楚。好吧,我仍然不清楚如何使用它们,具体来说,在它们之上构建应用程序时我应该使用哪种协议(protocol)?是否存在普遍原则或普遍采用的做法?选择时应考虑哪些因素。例如。对于视频流服务,UDP始终优先于TCP。 最佳答案 TCP-当您发送信息时,您将收到express服务等确认信息。如果没有确认,则重新发送。UDP-无确认。没有重新发送。首先,您应该了解您发送和接收的信息的敏感性。例如,如果您正在处理一些汇款,您当然需要确认银行收到了您的钱,如果连接出现问题,您就
我需要为每个Wifi发送两个double值和一个整数值。我每秒需要大约25个数据包。如果其中之一迷路了也没问题。但这种情况永远不会发生,即25人中有10人迷路。这可能吗?您推荐使用什么?UDP还是TCP? 最佳答案 Wifi中丢包的概率实际上取决于很多因素:设备、与接入点的距离、对等点的事件等等。40%的数据包丢失(10/25)相当极端,但可能会在正确(实际上:错误)的设置下发生。您没有提到对您的系统使用TCP会产生什么影响。开销是个问题吗?如果不是-我建议使用TCP,直到证明需要额外的性能提升,然后才考虑转向UDP。避免“过早优化
我正在制作需要在C++中获得事件TCP/UDP连接的程序?.我知道我可以在Windows上使用IPHelperAPI来做到这一点,但我想知道如何在C++中获得事件连接,但在Linux上。使用popen()函数和netstat命令是一个很好的选择还是什么?抱歉英语不好:) 最佳答案 您可以阅读以下文件:/proc/net/udp/proc/net/tcp这些文件的内容是以下类型的文本:sllocal_addressrem_addresssttx_queuerx_queuetrtm->whenretrnsmtuidtimeoutinod
我在NAT后面有2台计算机。为了在它们之间建立连接,我使用了UDP打洞协议(protocol)。有效。现在我想通过这个隧道发送文件。我想我必须在这两台计算机之间建立TCP隧道。两个防火墙都拒绝所有TCP流量。这可能吗?如果不行,有没有其他解决办法?Skype如何通过此UDP隧道发送文件? 最佳答案 打洞后可以使用UDT协议(protocol)进行文件传输。UDT建立在UDP之上。具有TCP的可靠性和UDP的快速。UDT有一个开源实现。http://udt.sourceforge.net
我最近决定使用Nodejs(服务器)和Unity3D(客户端)制作多人FPS游戏。我已经用socket.io做了一个POC,并将它部署在heroku上进行测试,结果惨遭失败(数据包传输速度太慢,导致延迟)。仔细研究后,我发现socket.io使用TCP,这对于面部节奏的FPS游戏来说并不理想。然后我遇到了Pomelo,它看起来很有趣。但在我花时间研究它的POC之前,我需要知道。Pomelo是只使用TCP还是也支持UDP?谢谢:) 最佳答案 对于FPS,您可能希望使用UDP。我为Unity找到了这个:http://forum.unit
我正在尝试编写一个套接字和客户端程序,这样服务器应该同时监听两个连接。例如,当我启动服务器时,它会监听UDP端口和TCP端口,每当UDP客户端发送消息时,它必须处理它,而当TCP客户端发送消息时,它必须处理它。我尝试使用pthreads但无法实现我想要的。这里是C++代码的细节以下函数将由各自的pthreads调用void*TCP(void*ptr){chartcp[MAXDATASIZE];cout>tcp;ServertcpServer(tcp,1);tcpServer.testbind(1);pthread_exit(NULL);}void*UDP(void*ptr){charu
目前我正在开发一个设备查找器,我真的很难处理代码,因为通常我会编写微Controller代码。我希望有人能帮助我。目标是从UDP广播接收客户端IP到制造商特定端口。这对我来说很好用。我发送广播并取回从设备发送的数据:00-00-00-F7-00-20-A0-06-58-39-30-12-63-16-00-00-62-A7-52-0B-FF-00-00-00-00-80-A3-BE-2F-XX它包括设备的MAC地址(最后6个十六进制片段)但是我找不到发件人(客户端)的IP地址我怎样才能保存从客户端发送的整个包装?包括IP?因为在Wireshark中我看到了整个包(发送自:192.xxx.
我已经安装了Apache,我想运行一个Apache网络服务器。我知道Apache是一个HTTP服务器,但我想知道在连接到它时如何强制使用TCP或UDP。我应该在服务器端配置端口吗?我应该使用不同的方式在客户端访问服务器吗? 最佳答案 HTTP的RFC规范确实说HTTP可以在TCP以外的其他协议(protocol)上运行,但据我所知,这从来没有做过。如果出于某种原因你打算尝试使用另一种协议(protocol),你需要选择一个像TCP一样具有流量控制的协议(protocol)。UDP不适合。Apache被设计为使用TCP,对此的任何更改
假设链路上同时存在弹性流量和非弹性流量(如图所示)。那么它们中的哪一个将主导链路(弹性或非弹性)。根据我的说法,这应该取决于如果非弹性流量作为弹性流量可以调整流量,那么流量可以根据它进行调整。所以任何人都可以解释一下或给出答案。提前致谢 最佳答案 我自己发现,非弹性流量将主导链路,因为非弹性流量本身没有拥塞控制,并且无论拥塞如何,它都会继续发送数据包,而弹性流量将减少其发送窗口,因为拥塞增加,因此非弹性流量往往主导链路。 关于udp-哪种流量将主导Internet链路、弹性流量或非弹性流