1
我有一個select
兩個UDP套接字。有時select
返回2,所以這兩個套接字已準備好進行接收,但我想首先收回可用於讀取的最舊消息。有什麼方法可以將它歸檔?選擇fd_set按消息到達時間排序
我需要的是第一個到達,第一消息:
- 消息M1在時間T1插座S1抵達。
- 消息m2時間t2抵達插座s2。
T1 < T2:所以我一定要得到的消息M1首先從插座S1。
現在我有一些與此類似:
recived do_recive(fd_set* container, int nfds, int* sockets, unsigned n_sockets) {
// ...
int activity = select(nfds, container, NULL, NULL, NULL);
// ...
for(i=0;i<n_sockets;i++) {
if(FD_ISSET(sockets[i], container)) {
recvfrom(...);
break;
}
}
// ...
}
簡答:你不能。 – wildplasser