diff options
Diffstat (limited to 'core/bindings')
| -rw-r--r-- | core/bindings/lang/clang/binding_example/tcp_client.c | 35 | ||||
| -rw-r--r-- | core/bindings/lang/clang/binding_example/tcp_server.c | 43 |
2 files changed, 78 insertions, 0 deletions
diff --git a/core/bindings/lang/clang/binding_example/tcp_client.c b/core/bindings/lang/clang/binding_example/tcp_client.c new file mode 100644 index 0000000..ba219a9 --- /dev/null +++ b/core/bindings/lang/clang/binding_example/tcp_client.c @@ -0,0 +1,35 @@ +#include <stdio.h> +#include "include/nogamepads_data.h" + +int main(void) { + + printf("//////////////////////////////////////// \n"); + printf("///// NoGamepads C Binding ///////////// \n"); + printf("///// Example: Connect to a server ///// \n"); + printf("//////////////////////////////////////// \n"); + printf("\n"); + + FfiPlayer *player = player_register("juliet", "12345678"); + player_set_hsv(player, 120, 0.5, 0.9); + player_set_nickname(player, "IM JULIET"); + printf("Player created. \n"); + + FfiControllerData *controller = controller_data_new(); + controller_data_bind_player(controller, player); + printf("Controller data created. \n"); + + FfiControllerRuntime *rt = controller_data_build_runtime(controller); + printf("Runtime created. \n"); + + FfiTcpClientService *client = tcp_client_build(rt); + printf("Tcp client built. \n"); + + tcp_client_bind_address_v4(client, 127, 0, 0, 1, 5989); + printf("Address bind. \n"); + + printf("Connecting \n"); + tcp_client_connect(client); + printf("Disconnected \n"); + + return 0; +} diff --git a/core/bindings/lang/clang/binding_example/tcp_server.c b/core/bindings/lang/clang/binding_example/tcp_server.c new file mode 100644 index 0000000..b0ff629 --- /dev/null +++ b/core/bindings/lang/clang/binding_example/tcp_server.c @@ -0,0 +1,43 @@ +#include <stdio.h> +#include <pthread.h> +#include "include/nogamepads_data.h" + +void* server_thread(void* arg) { + FfiTcpServerService *server = arg; + tcp_server_listening_block_on(server); + + printf("Server stopped. \n"); + return NULL; +} + +int main(void) { + + printf("//////////////////////////////////// \n"); + printf("///// NoGamepads C Binding ///////// \n"); + printf("///// Example: Start a server. ///// \n"); + printf("//////////////////////////////////// \n"); + printf("\n"); + + FfiGameData *data = game_data_new(); + printf("Data created. \n"); + + FfiGameRuntime *rt = game_data_build_runtime(data); + printf("Runtime created. \n"); + + FfiTcpServerService *server = tcp_server_build(rt); + printf("Tcp services created. \n"); + + tcp_server_bind_address_v4(server, 127, 0, 0, 1, 5989); + printf("Address bind. \n"); + + pthread_t thread; + pthread_create(&thread, NULL, server_thread, server); + + printf("Server started. Press Enter to stop...\n"); + + getchar(); + + printf("Process stopped. \n"); + + return 0; +}
\ No newline at end of file |
