小编Gig*_*igi的帖子

在同一端口上接收多个多播源 - C,Linux

我有一个应用程序从同一端口上的多个组播源接收数据.我能够收到数据.但是,我试图考虑每个组的统计信息(即收到的消息,收到的字节数),所有数据都混淆了.有谁知道如何解决这个问题?如果我试着查看发件人的地址,那么它不是多播地址,而是发送机器的IP.

我使用以下套接字选项:

struct ip_mreq mreq;         
mreq.imr_multiaddr.s_addr = inet_addr("224.1.2.3");         
mreq.imr_interface.s_addr = INADDR_ANY;         
setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));
Run Code Online (Sandbox Code Playgroud)

并且:

setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &reuse, sizeof(reuse));
Run Code Online (Sandbox Code Playgroud)

c sockets linux port multicast

13
推荐指数
3
解决办法
2万
查看次数

多个文件描述符到同一个文件,C

我有一个打开并读取相同文件(不写入)的多线程应用程序.我为每个线程打开一个不同的文件描述符(但它们都指向同一个文件).然后每个线程读取文件并关闭它并在达到EOF时再次打开它.这个可以吗?如果我对文件描述符执行fclose()会影响指向同一文件的其他文件descritptors吗?

multithreading file file-descriptor fclose

7
推荐指数
2
解决办法
6861
查看次数

标签 统计

c ×1

fclose ×1

file ×1

file-descriptor ×1

linux ×1

multicast ×1

multithreading ×1

port ×1

sockets ×1