草庐IT

tcp - udp打洞后发送文件

我在NAT后面有2台计算机。为了在它们之间建立连接,我使用了UDP打洞协议(protocol)。有效。现在我想通过这个隧道发送文件。我想我必须在这两台计算机之间建立TCP隧道。两个防火墙都拒绝所有TCP流量。这可能吗?如果不行,有没有其他解决办法?Skype如何通过此UDP隧道发送文件? 最佳答案 打洞后可以使用UDT协议(protocol)进行文件传输。UDT建立在UDP之上。具有TCP的可靠性和UDP的快速。UDT有一个开源实现。http://udt.sourceforge.net

node.js - 网易的Pomelo用的是Udp还是Tcp?

我最近决定使用Nodejs(服务器)和Unity3D(客户端)制作多人FPS游戏。我已经用socket.io做了一个POC,并将它部署在heroku上进行测试,结果惨遭失败(数据包传输速度太慢,导致延迟)。仔细研究后,我发现socket.io使用TCP,这对于面部节奏的FPS游戏来说并不理想。然后我遇到了Pomelo,它看起来很有趣。但在我花时间研究它的POC之前,我需要知道。Pomelo是只使用TCP还是也支持UDP?谢谢:) 最佳答案 对于FPS,您可能希望使用UDP。我为Unity找到了这个:http://forum.unit

multithreading - 使用 C++ 在服务器上同时收听 UDP 和 TCP

我正在尝试编写一个套接字和客户端程序,这样服务器应该同时监听两个连接。例如,当我启动服务器时,它会监听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

c# - 从广播收到UDP包后获取客户端IP

目前我正在开发一个设备查找器,我真的很难处理代码,因为通常我会编写微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 服务器使用 TCP 或 UDP?

我已经安装了Apache,我想运行一个Apache网络服务器。我知道Apache是一个HTTP服务器,但我想知道在连接到它时如何强制使用TCP或UDP。我应该在服务器端配置端口吗?我应该使用不同的方式在客户端访问服务器吗? 最佳答案 HTTP的RFC规范确实说HTTP可以在TCP以外的其他协议(protocol)上运行,但据我所知,这从来没有做过。如果出于某种原因你打算尝试使用另一种协议(protocol),你需要选择一个像TCP一样具有流量控制的协议(protocol)。UDP不适合。Apache被设计为使用TCP,对此的任何更改

udp - 哪种流量将主导 Internet 链路、弹性流量或非弹性流量?

假设链路上同时存在弹性流量和非弹性流量(如图所示)。那么它们中的哪一个将主导链路(弹性或非弹性)。根据我的说法,这应该取决于如果非弹性流量作为弹性流量可以调整流量,那么流量可以根据它进行调整。所以任何人都可以解释一下或给出答案。提前致谢 最佳答案 我自己发现,非弹性流量将主导链路,因为非弹性流量本身没有拥塞控制,并且无论拥塞如何,它都会继续发送数据包,而弹性流量将减少其发送窗口,因为拥塞增加,因此非弹性流量往往主导链路。 关于udp-哪种流量将主导Internet链路、弹性流量或非弹性流

c++ - 是否可以将 TCP 数据包发送到 UDP-only 服务器?

我有一个UDP服务器,但我在客户端没有UDP功能。有没有办法通过TCP发送数据包,让UDP服务器正常接收?UDP服务器不能转化为TCP服务器。想要这样做的原因是我使用的是不支持UDP关联功能的SOCKS5代理,但我必须使用该代理。 最佳答案 没有。UDP服务器无法完成TCP所需的3次握手。如果你有IP-raw套接字,实际上更容易在上面实现UDP。然而,您似乎极不可能没有UDP堆栈。当您谈论“无UDP功能”时,您的意思是客户端没有UDP堆栈,还是他只是在某些阻止UDP的防火墙后面?在后一种情况下使用代理。

java - 使用 LabVIEW 通过 TCP 或 UDP 将数据传输到 cRIO

我应该使用TCP还是UDP作为协议(protocol),通过局域网从我的笔记本电脑(使用LabVIEW程序)向cRIO(使用java)发送可变数据包。更具体地说,LabVIEW部分很简单。但我不熟悉在java中设置套接字和接收数据。 最佳答案 TCP。UDP是一种“原始”数据包协议(protocol),这意味着每个sendto()对应于网络上的单个数据报,没有流量控制或错误恢复。如果您需要发送超过几百个字节,需要确保数据通过,需要数据按顺序到达,或者将以接近网络速率的任何速率发送数据,那么单独的UDP将无法提供你需要什么。有几个可靠

networking - 链接TCP应用程序和UDP应用程序

Youhavetwoapplicationthatneedtoexchangeinformationamongtheminalocalareanetwork.ThefirstapplicationusesTCPforcommunicationwhilethesecondusesUDP.Canwelinkbothapplicationsdirectly?Ifyouranswerisno,explainhowwecanlinkthem?(来自家庭作业)我认为答案是否定的,我们需要在它们之间使用一些翻译器或中间件。但是什么? 最佳答案 如

javascript - 如何监听 TCP 数据包获取数据并使用 node.js 发送 UDP

我正在尝试在端口上监听TCP数据包,然后从中获取数据并将其转发到UDP端口。原因是监听UDP端口的软件只接受UDP,但我想使用javascriptwebsockets向它发送只使用TCP的数据。 最佳答案 WebSockets不仅仅是一个简单的TCP套接字。该协议(protocol)基本上是一个HTTP升级握手(带有一些特定于WebSockets的安全握手)。如果您只是监听一个端口并盲目地转发数据,那是行不通的,因为浏览器实际上无法建立WebSocket连接。您是否考虑过使用socket.io处理WebSocket端的事情?那就简单