草庐IT

networking - 除了 UDP 广播或多播,我还可以在 WiFI 网络上使用哪些其他方法来发现计算机?

我已经实现了一个简单的UDPping/pong协议(protocol)来发现连接到同一个WiFI路由器的其他计算机。这在许多WiFI和以太网路由器上运行良好,但当我到街上尝试时,许多公共(public)WiFI网络似乎禁用了UDP广播/多播,或者完全禁用了UDP。我还有哪些其他选项可以发现连接到WiFI路由器的计算机?(我很想在我的网络成员之间创建一个Ad-Hoc网络,但这是不可能的)我正在考虑暴力强制TCP尝试(尝试打开与我子网络上所有可能IP的连接),但这会非常昂贵,我将不得不循环几次并且仍然找不到最近连接到网络的每台机器. 最佳答案

java - 如何用java代码区分机器中的TCP和UDP数据包?

如何在使用java将其发送到互联网之前区分TCP和UDP数据包?我需要监听那些数据包并区分它是TCP还是UDP。如何使用Java代码实现这一点?更新:我需要将所有TCP/IP和UDP数据包重定向到服务器(Ip),并且需要跟踪TCP/IP和UDP数据包的流量并制作日志。 最佳答案 在Java中您看不到带有TCP的单个数据包,但是当您使用Socket时它将是TCP,如果您使用DatagramSocket它将是UDP。也就是说,类是不同的,因此您不会混淆它们。如果你想窥探网络适配器以查看正在发送哪种类型的数据包,你可以使用JPCap。

tcp - 从移动设备到 Azure 的 UDP

我正在使用一个移动应用程序,它将GPS坐标从移动设备发送到一个Azure网站。现在我可以使用AzureWeb/Worker角色中的TCP端点来执行此操作。我用的手机硬件是SIM300模块。SIM300还提供通过UDP发送数据,这对我的应用来说更简单、更快。我听说AzureConnect使用UDP通过UDP在本地和虚拟机之间进行通信。我不确定,但是有什么方法可以实现相同的应用程序以在Azure中使用UDP而不是TCP? 最佳答案 我设法让UDP使用UDP->TCP隧道在服务总线上工作。但正如Simon所说,如果可以的话,最好还是使用T

debugging - 跟踪程序的 TCP/UDP 连接

跟踪应用程序互联网通信的最佳方式是什么?我用过Fiddler2过去使用InternetExplorer(在SSL测试中取得巨大成功)。但是我没有找到一种简单的方法来跟踪特定Windows程序与它使用操作系统Windows7(64位)创建的套接字之间的所有通信。Fiddler会很好用,不幸的是,这个程序需要我设置一个代理。我不确定如何为我试图从中读取所有通信的程序执行此操作。而且我很确定我会得到连接到我机器的每个套接字的“桶”,我相信这很难过滤。Netstat似乎只提供正在访问的远程位置,除此之外没有其他信息。 最佳答案 我会给Por

c# - 当 UDP 当前正在发送数据包时,您的程序可以通过 TCP 接收信息吗?

现在,我很想知道-如果我有一个程序通过TCP连接到服务器并且服务器向我的程序发送消息,但我同时发送UDP数据包,TCP数据包会来找我?一切都在一个类中!感谢您的帮助! 最佳答案 你的问题实际上是所有网络应用程序员都必须知道和考虑的几个问题的边界。首先:所有从网络接收到的数据都存储在操作系统的内部缓冲区,等待读取。缓冲区不是无限的,所以如果您等待的时间足够长,一些数据可能会丢失。通常写入的数据block是单个数据包,但并非总是如此。您永远无法假设在TCP/IP通信中有多少数据可用于读取。另一方面,在UDP中,您必须始终读取单个数据包,

Python 管道从网络套接字接收到 tcp/udp pcm 数据到子进程(aplay)

我这辈子都弄不明白。我正在尝试获取通过网络连接接收到的数据,然后将其通过管道传输到子进程,该子进程将通过aplay将数据流式传输到我的声卡。我已经设法做到了这一点,但它在接收数据时会短暂暂停。whileTrue:data=sock.recv(1024)p1.stdin.write(data)设置从网络连接无限期传输的管道的最佳方法是什么?设置多处理或线程来执行此操作?谢谢! 最佳答案 播放声音特别棘手-人耳对声音播放中的任何中断都很敏感,感知到的质量会很差。此外,您永远无法预测网络中的延迟/抖动/延迟。因此,以下模型是最好的:多线程

python - 通过 TCP/UDP 发送一个大数据包和许多小数据包?

我在互联网上通过TCP将点坐标发送到可视化客户端脚本。我想知道我应该使用哪个选项:将坐标连接成一个大字符串并将它们一起发送,或者一个一个发过去我不知道哪个更快。我还有其他一些问题:我应该使用哪一个?TCP的数据包是否有最大尺寸?(python:client.send(string)的string的最大大小)因为这是一个可视化项目,我应该使用UDP而不是TCP吗?你能告诉我一些关于丢包的事吗?它们什么时候发生?如何应对?抱歉提出了很多问题,但我真的很纠结这个问题...... 最佳答案 当您发送一个字符串时,它可能会在多个TCP数据包中

c++ - 如何获取目标应用程序的 tcp/udp 端口​​列表

我知道有很多命令可以用来获取特定应用程序打开的tcp和udp端口​​。例如,假设我们有一个名为APP的应用程序,那么我们可以通过以下方式获取它的端口:lsof-i|grep'APP',或者,netstat-anp|grepAPP.但是我们可以通过linux上的c/c++源代码来做到这一点吗?有什么方法可以实现,比如扫描/proc/app/下的内容或者使用任何系统API? 最佳答案 this将为您提供正在使用的端口列表,以及netstatsourcecode来自net-tools套件可能对您有帮助

c - 通过 UDP(低数据计划)向 Xively 发送 500 个字节,在 MCU 上使用 C

我们有自己的运行MQXRTOS的飞思卡尔K60微Controller板。我们可以通过TCP将数据POST(并且很可能是GET)到Xively,但是我们的数据计划是有限的,而且TCP会重新发送并消耗大量的开销。我听说UDP似乎是我们最好的解决方案。我们很难知道如何通过UDP将GET和POST发送到Xively。我们知道我们必须编写自己的层,有什么提示吗?另外,是否有任何技巧可以让Xively确认回微Controller客户端? 最佳答案 Xively目前只支持基于TCP的协议(protocol),它们是:HTTP和HTTPSWebSo

java - 将 Java 程序从 UDP 切换到 TCP 的最简单方法是什么?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我得到了一个使用java.net.DatagramSocket类的Java应用程序,它使用UDP。我需要将它切换到TCP,是否有一种简单的方法可以做到这一点,或者我是否需要重写整个应用程序?如果这是一个菜鸟问题,我很抱歉,但我只是从网络开始。