udp相关内容

Linux内核中UDP数据包的路径

我想在Linux内核中找到UDP数据包的路径.为此,我想阅读一些文档(我有此为止(这是针对TCP的),然后在相关的内核函数中包含一些printk语句来确认这一点.我将通过重新编译内核代码来做到这一点. 这是解决方法吗?您有什么建议/参考吗? 解决方案 Linux网络堆栈是内核的重要组成部分,您需要花一些时间来研究它. 我认为这本书可能会有所帮助(针对较早的内核2.4和2.6,但是对于 ..
发布时间:2020-05-02 03:27:24 其他开发

UDP服务器套接字缓冲区溢出

我正在Linux上编写C ++应用程序.我的应用程序有一个UDP服务器,该服务器在某些事件上将数据发送到客户端. UDP服务器还从客户端收到一些反馈/确认. 为实现此应用程序,我使用了一个UDP套接字(例如int fdSocket)从所有客户端发送和接收数据.我将其绑定到端口8080,并将套接字设置为NON_BLOCKING模式. 我创建了两个线程.在一个线程中,我等待某个事件发生,如 ..
发布时间:2020-05-01 11:12:54 服务器开发

如何在Perl中接受多个TCP连接?

我对Linux的Perl脚本有疑问.它的主要目的是成为3个应用程序之间的中间人.它应该做什么: 它应该能够等待$udp_port上的UDP文本(不带空格) 当它收到该UDP文本时,应将其转发到已连接的TCP客户端 问题是我的应用程序目前可以正常使用,直到我第一次与TCP客户端断开连接.然后我无法再连接到它,并且它在$udp_port上接收到下一个UDP数据包后超时.因此,基本上,每当 ..
发布时间:2020-05-01 11:05:03 服务器开发

Linux上的SO_REUSEPORT

我想知道LINUX 2.6中是否启用了SO_REUSEPORT选项? 如果我尝试使用它并编译我的代码,则会出现以下错误 01.c:72: error: `SO_REUSEPORT' undeclared (first use in this function) 01.c:72: error: (Each undeclared identifier is reported only on ..
发布时间:2020-05-01 11:01:51 服务器开发

UDP IP分片和MTU

我试图了解我在发送UDP数据包时看到的一些行为. 我有两个Java小程序:一个用于传输UDP数据包,另一个用于接收UDP数据包.我正在通过单个交换机连接的两台计算机之间的网络中本地运行它们. 两个网络适配器上的MTU设置(由/sbin/ifconfig报告)为1500. 如果我发送的数据包小于 ..
发布时间:2020-05-01 10:57:23 服务器开发

UNIX域STREAM和DATAGRAM套接字之间的区别?

对于STREAM类型和DATAGRAM类型的INTERNET套接字之间的区别,这个问题不是 NOT .我知道STREAM套接字使用TCP,Datagram套接字使用UDP以及所有TCP,UDP内容,按顺序到达的数据包,ACK,NACK等. 我了解这些在互联网上的重要性. Q1)当我创建作为本地套接字的UNIX域套接字时,如果该套接字是STREAM套接字或DATAGRAM套接字,将有什么关系. ..
发布时间:2020-05-01 10:40:00 服务器开发

为UDP套接字的recv fcn设置超时

我通过sendto发送UDP数据包,然后通过recv接收答案.如果recv没有收到答复,则程序无法继续执行.但是,udp数据包可能会丢失,或者由于某些原因可能无法传送该数据包,从而使程序卡在recv行上.我想知道如果nopacket到达,例如一分钟,然后跳过该行并继续执行代码,怎么可能为recv设置超时? 我没有粘贴完整的代码,因为它是通用的udp代码,而我的问题与唯一的recv有关.最后一 ..
发布时间:2020-05-01 09:55:06 服务器开发

套接字接收队列中有多少个数据包或字节?

用SO_RCVBUF调用getsockopt将返回套接字接收缓冲区的分配大小. 我很好奇,是否可以在调用recv或recvfrom之前查询缓冲区中实际上有多少个数据报包(或字节)?如果有帮助,我可以满足Linux特定的答案.有问题的套接字是UDP,但我怀疑它对TCP无关紧要. 我问的原因仅是出于测试和调试目的.我正在尝试验证对setsocktop(SO_RCVBUF)的调用是否设置了足 ..
发布时间:2020-05-01 09:53:59 服务器开发

UDP数据包被Linux内核丢弃

我有一个服务器,该服务器通过多播发送UDP数据包,还有一些列出这些多播数据包的客户端. 每个数据包的固定大小为1040字节,服务器发送的整个数据大小为3GByte. 我的环境如下: 1 Gbit以太网络 40个节点,1个发送方节点和39个接收方节点. 所有节点具有相同的硬件配置:2个AMD CPU,每个CPU具有2个核心@ 2,6GHz 在客户端,一个线程读取套接字并将数据 ..
发布时间:2020-05-01 09:47:20 服务器开发

如何获取重定向的UDP消息的原始目标端口?

使用这东西我可以获取原始内容socket(PF_INET, SOCK_DGRAM, 0)套接字的目标IP地址. 如何获取原始目标端口? 解决方案 取决于重定向机制.如果使用的是REDIRECT(实际上是NAT),则需要在应用NAT之前使用SO_ORIGINAL_DST或libnetfilter_conntrack来查询连接的原始目标.但是,由于您可以使用同一个侦听器套接字为多个连接提 ..
发布时间:2020-05-01 09:33:54 服务器开发

如何在Linux中使用C进行UDP广播?

如何在Linux中使用C进行UDP广播? 解决方案 在许多IP协议栈中,例如Linux,此代码不起作用.您的套接字必须具有广播权限.试试这个: bcast_sock = socket(AF_INET, SOCK_DGRAM, 0); int broadcastEnable=1; int ret=setsockopt(bcast_sock, SOL_SOCKET, SO_BROADCA ..
发布时间:2020-05-01 08:51:47 服务器开发

在Linux上接收UDP广播数据包

我们拥有现有的软件,该软件会定期将UDP数据包广播到本地子网上(x.x.x.255)上的特定端口(7125).我们有在HP-UX(11.11)上运行的监视软件,该软件能够毫无问题地接收这些数据包.但是,在将监视软件移植到Linux(RHEL 6.1)之后,我们发现它没有收到广播数据包. tcpdump显示了到达Linux主机的数据包,但是内核没有将它们发送到我们的软件. 我一直在使用几个py ..
发布时间:2020-05-01 08:30:50 服务器开发

如何获得UDP套接字的排队数据量?

要查看我在处理传入数据方面做得如何,我想测量TCP和UDP套接字上的队列长度. 我知道我可以通过SO_RCVBUF套接字选项获取队列大小,并且ioctl(, SIOCINQ, &)告诉我有关TCP套接字的信息.但是对于UDP,SIOCINQ/FIONREAD ioctl仅返回下一个未决数据报的大小.有没有一种方法可以获取UDP的队列大小,而不必解析/pro ..
发布时间:2020-05-01 08:22:17 服务器开发

在Linux中的运行时指定UDP接收缓冲区大小

在Linux中,可以使用以下命令为网络数据包(例如UDP)指定系统的默认接收缓冲区大小: sysctl -w net.core.rmem_max= sysctl -w net.core.rmem_default= 但是我想知道,应用程序(例如,在c中)是否可以通过在运行时指定每个UDP套接字的接收缓冲区大小来覆盖系统的默认值? 解决方案 您可以从默认值 ..
发布时间:2020-05-01 08:20:58 服务器开发

所有接口上的UDP广播

在具有有线和无线接口(例如192.168.1.x和192.168.2.x子网)的Linux系统上,我要发送UDP广播,该广播通过所有可用接口(即通过有线和无线)输出无线接口). 当前,我将sendto()发送到INADDR_BROADCAST,但是似乎仅通过其中一个接口发送了广播(并不总是相同的,后续广播可能会使用另一个接口). 有没有一种方法可以发送通过每个接口发出的UDP广播? ..
发布时间:2020-05-01 08:15:58 服务器开发

如何监视Linux UDP缓冲区的可用空间?

我在Linux上有一个Java应用程序,它可以打开UDP套接字并等待消息. 几个小时在高负载下出现数据包丢失,即数据包被内核接收,但不是由我的应用程序接收(我们在嗅探器中看到丢失的数据包,在netstat中看到UDP数据包丢失,我们没有在我们的应用日志中查看这些数据包. 我们尝试扩大套接字缓冲区,但这无济于事-我们早些时候就开始丢失数据包,仅此而已. 对于调试,我想知道在任何给定 ..
发布时间:2020-05-01 08:10:43 服务器开发

获取接收到的UDP报文的目的地址

接收到UDP数据包后,我需要用发送者用来发送数据包的地址来响应发件人. 通过recvfrom调用,我可以获取发送方的地址,但是如何获取接收到的数据包的目标地址,该地址应与本地主机接口之一的地址匹配? 解决方案 您可以使用setsockopt设置IP_PKTINFO选项,然后使用recvmsg并在结构msghdr的msg_control成员中获取in_pktinfo结构. in_pkt ..
发布时间:2020-05-01 07:58:31 服务器开发