en essayant de diffuser à travers des sockets udp

J'ai choppé un problème avec mon serveur de diffusion. en fait, je cherche à envoyer des émissions en continu à partir du moment où je le lance. pour une raison quelconque, il ne démarre pas jusqu'à ce qu'il reçoit une connexion à partir de quelque part. Je dois avoir loupé quelque chose, mais je ne peux pas réaliser ce qui.

voici mon code:

WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
SOCKET sock;
sock = socket(AF_INET, SOCK_DGRAM, 0);
char broadcast = 'a';
if(setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast)) < 0)
{
perror("broadcast options");
closesocket(sock);
return 1;
}
struct sockaddr_in Recv_addr;
struct sockaddr_in Sender_addr;
int len = sizeof(struct sockaddr_in);
char recvBuff[50];
int recvBuffLen = 50;
//char sendMsg[] = "broadcast message from salam rofl";
Recv_addr.sin_family = AF_INET;
Recv_addr.sin_port = htons(PORT);
Recv_addr.sin_addr.s_addr = INADDR_ANY;
if(bind(sock, (sockaddr*)&Recv_addr, sizeof(Recv_addr)) < 0)
{
perror("bind");
_getch;
closesocket(sock);
return 1;
}
//recvfrom(sock, recvBuff, recvBuffLen, 0, (sockaddr *)&Sender_addr, &len);
//cout << "\nreceived message: " << recvBuff;
while(1)
{
Sleep(3000);
//_getch();
getTime();
if(sendto(sock, currentTime, strlen(currentTime)+1, 0, (sockaddr *)&Sender_addr, sizeof(Sender_addr)) < 0)
{
perror("borhot send: ");
_getch();
closesocket(sock);
return 0;
}
else cout << "message sent successfully";
}
_getch;
closesocket(sock);
WSACleanup();
return 0;

en gros si je supprimer recvfrom, il va me donner un envoyer erreur ("Pas d'erreur"), qui se contente de me énigmes. aussi, si je les envoie quelque chose avec un client, il va commencer à diffuser, mais si je me connecte avec un autre client, seul le premier client de la réception de la radiodiffusion.

vous en remercie d'avance.
J'en doute des questions, mais je vais essayer de diffuser l'heure actuelle.

  • Juste une question; je réalise que c'est super vieux. Pourquoi broadcast = 'a'? Pourquoi ne pas broadcast = 1?
  • Ha, bonne question - je probablement ne savais pas mieux. C'était vraiment il y a longtemps et je ne m'en souviens pas vraiment à tout ça. Il est intéressant de voir les questions que je me posais quand j'ai seulement commencé à étudier les sockets.
  • Haha je suis d'accord, j'ai repris un peu de temps et facepalmed.
InformationsquelleAutor icarus | 2013-06-06