network_udp.c
changeset 738 b96ab9e63d22
parent 716 8af847728d5b
child 764 7e1e17b7c7d4
equal deleted inserted replaced
737:05082439a150 738:b96ab9e63d22
   432 
   432 
   433 	NetworkUDPBroadCast();
   433 	NetworkUDPBroadCast();
   434 	_network_udp_broadcast = 300; // Stay searching for 300 ticks
   434 	_network_udp_broadcast = 300; // Stay searching for 300 ticks
   435 }
   435 }
   436 
   436 
   437 void NetworkUDPQueryServer(const byte* host, unsigned short port)
   437 NetworkGameList *NetworkUDPQueryServer(const byte* host, unsigned short port)
   438 {
   438 {
   439 	struct sockaddr_in out_addr;
   439 	struct sockaddr_in out_addr;
   440 	Packet *p;
   440 	Packet *p;
   441 	NetworkGameList *item;
   441 	NetworkGameList *item;
   442 	char hostname[NETWORK_HOSTNAME_LENGTH];
   442 	char hostname[NETWORK_HOSTNAME_LENGTH];
   443 
   443 
   444 	// No UDP-socket yet..
   444 	// No UDP-socket yet..
   445 	if (_udp_client_socket == INVALID_SOCKET)
   445 	if (_udp_client_socket == INVALID_SOCKET)
   446 		if (!NetworkUDPListen(0, 0))
   446 		if (!NetworkUDPListen(0, 0))
   447 			return;
   447 			return NULL;
   448 
   448 
   449 	ttd_strlcpy(hostname, host, sizeof(hostname));
   449 	ttd_strlcpy(hostname, host, sizeof(hostname));
   450 
   450 
   451 	out_addr.sin_family = AF_INET;
   451 	out_addr.sin_family = AF_INET;
   452 	out_addr.sin_port = htons(port);
   452 	out_addr.sin_port = htons(port);
   465 	NetworkSendUDP_Packet(p, &out_addr);
   465 	NetworkSendUDP_Packet(p, &out_addr);
   466 
   466 
   467 	free(p);
   467 	free(p);
   468 
   468 
   469 	UpdateNetworkGameWindow(false);
   469 	UpdateNetworkGameWindow(false);
       
   470 	return item;
   470 }
   471 }
   471 
   472 
   472 /* Register us to the master server
   473 /* Register us to the master server
   473      This function checks if it needs to send an advertise */
   474      This function checks if it needs to send an advertise */
   474 void NetworkUDPAdvertise(void)
   475 void NetworkUDPAdvertise(void)