내 서버는받은 모든 메시지를 연결된 모든 클라이언트로 전달해야하지만 내 코드는 보낸 사람에게만 메시지를 보낼 수 있습니다.C++ [UDP] 서버에 연결된 모든 (클라이언트) 소켓 연결을 추적하는 방법은 무엇입니까?
struct User
{
char user_id[20];
string address;
struct sockaddr_in CONNECTED;
}U[8];
//USER LOGIN
for(int i = 0; i < 8; i++)
{
//DO THIS WHEN USER MATCHED
//user_id consists of Andrew, Lisa, David and etc
//so that each unique name has a unique connection(CONNECTED)
if(strcmp(user_id,U[i].user_id) == 0)
{
U[i].CONNECTED = cln_addr;
}
}
//AFTER RECEIVING THE MESSAGE FROM CLIENT, SEND THE MESSAGE BACK TO ALL CONNECTED CLIENTS
for(int i = 0; i < 8; i++)
{
sendto (*csock, BROADCASTMESSAGE, sizeof BROADCASTMESSAGE, 0, (struct sockaddr *)&U[i].CONNECTED, len_c_addr); //THIS HOWEVER ONLY FORWARD MESSAGE BACK TO THE SENDER
}
[mcve] – purplepsycho