|
@@ -1,33 +1,24 @@
|
|
|
/*******************************************************************************************
|
|
|
- *
|
|
|
- * raylib [network] example - Network Test
|
|
|
- *
|
|
|
- * 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)
|
|
|
- *
|
|
|
- ********************************************************************************************/
|
|
|
+*
|
|
|
+* raylib [network] example - Network Test
|
|
|
+*
|
|
|
+* This example has been created using raylib 3.0 (www.raylib.com)
|
|
|
+* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
|
|
|
+*
|
|
|
+* Copyright (c) 2019-2020 Jak Barnes (@syphonx) and Ramon Santamaria (@raysan5)
|
|
|
+*
|
|
|
+********************************************************************************************/
|
|
|
|
|
|
#include "raylib.h"
|
|
|
+
|
|
|
+#define RNET_IMPLEMENTATION
|
|
|
#include "rnet.h"
|
|
|
|
|
|
#include <assert.h>
|
|
|
|
|
|
void test_network_initialise()
|
|
|
{
|
|
|
- assert(InitNetwork() == true);
|
|
|
+ assert(InitNetworkDevice() == true);
|
|
|
}
|
|
|
|
|
|
void test_socket_result()
|
|
@@ -50,8 +41,8 @@ void test_resolve_ip()
|
|
|
{
|
|
|
const char *host = "8.8.8.8";
|
|
|
const char *port = "8080";
|
|
|
- char ip[ADDRESS_IPV6_ADDRSTRLEN];
|
|
|
- char service[ADDRESS_MAXSERV];
|
|
|
+ char ip[ADDRESS_IPV6_ADDRSTRLEN];
|
|
|
+ char service[ADDRESS_MAXSERV];
|
|
|
|
|
|
memset(ip, '\0', ADDRESS_IPV6_ADDRSTRLEN);
|
|
|
ResolveIP(host, port, NAME_INFO_NUMERICHOST, ip, service);
|
|
@@ -91,9 +82,9 @@ void test_resolve_ip()
|
|
|
|
|
|
void test_resolve_host()
|
|
|
{
|
|
|
- const char * address = "localhost";
|
|
|
- const char * port = "80";
|
|
|
- AddressInformation *addr = AllocAddressList(3);
|
|
|
+ const char *address = "localhost";
|
|
|
+ const char *port = "80";
|
|
|
+ AddressInformation *addr = AllocAddressList(3);
|
|
|
int count = ResolveHost(address, port, ADDRESS_TYPE_ANY, 0, addr);
|
|
|
|
|
|
assert(GetAddressFamily(addr[0]) == ADDRESS_TYPE_IPV6);
|
|
@@ -113,36 +104,58 @@ void test_address_list()
|
|
|
|
|
|
void test_socket_create()
|
|
|
{
|
|
|
- SocketConfig server_cfg = {.host = "127.0.0.1", .port = "8080", .server = true, .nonblocking = true};
|
|
|
- Socket * socket = AllocSocket();
|
|
|
+ SocketConfig server_cfg = { .host = "127.0.0.1", .port = "8080", .server = true, .nonblocking = true };
|
|
|
+ Socket *socket = AllocSocket();
|
|
|
SocketResult *server_res = AllocSocketResult();
|
|
|
- SocketSet * socket_set = AllocSocketSet(1);
|
|
|
+ SocketSet *socket_set = AllocSocketSet(1);
|
|
|
+
|
|
|
assert(SocketCreate(&server_cfg, server_res));
|
|
|
assert(AddSocket(socket_set, server_res->socket));
|
|
|
assert(SocketListen(&server_cfg, server_res));
|
|
|
}
|
|
|
|
|
|
-int main()
|
|
|
+int main(void)
|
|
|
{
|
|
|
- int screenWidth = 800;
|
|
|
- int screenHeight = 450;
|
|
|
- InitWindow(
|
|
|
- screenWidth, screenHeight, "raylib [network] example - network test");
|
|
|
- SetTargetFPS(60);
|
|
|
+ // Initialization
|
|
|
+ //--------------------------------------------------------------------------------------
|
|
|
+ const int screenWidth = 800;
|
|
|
+ const int screenHeight = 450;
|
|
|
|
|
|
+ InitWindow(screenWidth, screenHeight, "raylib [network] example - network test");
|
|
|
+
|
|
|
// Run the tests
|
|
|
test_network_initialise();
|
|
|
test_resolve_host();
|
|
|
- // test_socket_create();
|
|
|
+ //test_socket_create();
|
|
|
+ test_resolve_ip();
|
|
|
+
|
|
|
+ SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
|
|
+ //--------------------------------------------------------------------------------------
|
|
|
|
|
|
// Main game loop
|
|
|
- while (!WindowShouldClose()) {
|
|
|
+ while (!WindowShouldClose()) // Detect window close button or ESC key
|
|
|
+ {
|
|
|
+ // Update
|
|
|
+ //----------------------------------------------------------------------------------
|
|
|
+ // TODO: Update your variables here
|
|
|
+ //----------------------------------------------------------------------------------
|
|
|
+
|
|
|
+ // Draw
|
|
|
+ //----------------------------------------------------------------------------------
|
|
|
BeginDrawing();
|
|
|
- ClearBackground(RAYWHITE);
|
|
|
- DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);
|
|
|
+
|
|
|
+ ClearBackground(RAYWHITE);
|
|
|
+
|
|
|
+ DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);
|
|
|
+
|
|
|
EndDrawing();
|
|
|
+ //----------------------------------------------------------------------------------
|
|
|
}
|
|
|
- CloseWindow();
|
|
|
+
|
|
|
+ // De-Initialization
|
|
|
+ //--------------------------------------------------------------------------------------
|
|
|
+ CloseWindow(); // Close window and OpenGL context
|
|
|
+ //--------------------------------------------------------------------------------------
|
|
|
|
|
|
return 0;
|
|
|
}
|