/*******************************************************************************************
							 | 
						|
								 *
							 | 
						|
								 *   raylib [network] example - Resolve Host
							 | 
						|
								 *
							 | 
						|
								 *   Welcome to raylib!
							 | 
						|
								 *
							 | 
						|
								 *   To test examples, just press F6 and execute raylib_compile_execute script
							 | 
						|
								 *   Note that compiled executable is placed in the same folder as .c file
							 | 
						|
								 *
							 | 
						|
								 *   You can find all basic examples on C:\raylib\raylib\examples folder or
							 | 
						|
								 *   raylib official webpage: www.raylib.com
							 | 
						|
								 *
							 | 
						|
								 *   Enjoy using raylib. :)
							 | 
						|
								 *
							 | 
						|
								 *   This example has been created using raylib 2.0 (www.raylib.com)
							 | 
						|
								 *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h
							 | 
						|
								 *for details)
							 | 
						|
								 *
							 | 
						|
								 *   Copyright (c) 2013-2016 Ramon Santamaria (@raysan5)
							 | 
						|
								 *
							 | 
						|
								 ********************************************************************************************/
							 | 
						|
								
							 | 
						|
								#include "raylib.h" 
							 | 
						|
								#include "rnet.h"
							 | 
						|
								
							 | 
						|
								char     buffer[ADDRESS_IPV6_ADDRSTRLEN];
							 | 
						|
								uint16_t port = 0;
							 | 
						|
								
							 | 
						|
								int main()
							 | 
						|
								{
							 | 
						|
									// Setup
							 | 
						|
									int screenWidth  = 800;
							 | 
						|
									int screenHeight = 450;
							 | 
						|
									InitWindow(
							 | 
						|
										screenWidth, screenHeight, "raylib [network] example - ping pong");
							 | 
						|
									SetTargetFPS(60);
							 | 
						|
								
							 | 
						|
									SetTraceLogLevel(LOG_DEBUG);
							 | 
						|
								
							 | 
						|
									// Networking
							 | 
						|
									InitNetwork(); 
							 | 
						|
									 
							 | 
						|
								    AddressInformation* addr = AllocAddressList(1);
							 | 
						|
									int count = ResolveHost(
							 | 
						|
								        NULL, 
							 | 
						|
								        "5210", 
							 | 
						|
								        ADDRESS_TYPE_IPV4, 
							 | 
						|
								        0                               // Uncomment any of these flags
							 | 
						|
								        //  ADDRESS_INFO_NUMERICHOST    // or try them in conjunction to
							 | 
						|
								        //  ADDRESS_INFO_NUMERICSERV    // specify custom behaviour from 
							 | 
						|
								        //  ADDRESS_INFO_DNS_ONLY       // the function getaddrinfo()
							 | 
						|
								        //  ADDRESS_INFO_ALL            //
							 | 
						|
								        //  ADDRESS_INFO_FQDN           // e.g. ADDRESS_INFO_CANONNAME | ADDRESS_INFO_NUMERICSERV
							 | 
						|
								        , 
							 | 
						|
								        addr
							 | 
						|
								    );
							 | 
						|
								
							 | 
						|
								    if (count > 0)
							 | 
						|
								    {
							 | 
						|
								        GetAddressHostAndPort(addr[0], buffer, &port);
							 | 
						|
								        TraceLog(LOG_INFO, "Resolved to ip %s::%d\n", buffer, port);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
									// Main game loop
							 | 
						|
									while (!WindowShouldClose())
							 | 
						|
									{
							 | 
						|
										// Draw
							 | 
						|
										BeginDrawing();
							 | 
						|
								
							 | 
						|
										// Clear
							 | 
						|
										ClearBackground(RAYWHITE);
							 | 
						|
								
							 | 
						|
										// End draw
							 | 
						|
										EndDrawing();
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									// Cleanup
							 | 
						|
									CloseWindow();
							 | 
						|
									return 0;
							 | 
						|
								}
							 |