/*******************************************************************************************
							 | 
						|
								 *
							 | 
						|
								 *   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;
							 | 
						|
								}
							 |