2012-12-23 92 views
0

我得到哪個客戶端用這個代碼發送消息給服務器;如何將消息從服​​務器發送到c中的所有客戶端?

recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *) &si_other, &slen)); 

printf("Received packet from %s:%d\n", inet_ntoa(si_other.sin_addr), ntohs(si_other.sin_port)); 

而且我可以使用此代碼向此客戶端發送消息;

sendto(s, "data", recv_len, 0, (struct sockaddr*) &si_other, slen); 

但我想發送此消息(「數據」)到所有客戶端,而不是一個客戶端。我怎樣才能做到這一點 ?

+2

您是否聽說過「迭代」的概念? – 2012-12-23 14:07:02

回答

2

您可以跟蹤您從列表中的客戶端接受的連接,並且當您想要將消息發送給所有人時,可以用循環遍歷該列表,然後將所需的消息分別發送給每個人。

+1

謝謝。我需要這個。 –

相關問題