From: HimbeerserverDE Date: Mon, 4 Oct 2021 15:25:21 +0000 (+0200) Subject: Add example code X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=195758c021473b536951fbaf7a67f57ee6098f60;p=dragonnet-example.git Add example code --- diff --git a/CMakeLists.txt b/CMakeLists.txt index e307f88..24ca19c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,16 +46,9 @@ add_custom_target(ExampleTypes DEPENDS "${CMAKE_SOURCE_DIR}/dnet-types.h" ) -add_executable(ExampleClient +add_executable(ExampleCS ${SOURCES_COMMON} - client.c + cs_example.c ) -add_dependencies(ExampleClient ExampleTypes) - -add_executable(ExampleServer - ${SOURCES_COMMON} - server.c -) - -add_dependencies(ExampleServer ExampleTypes) +add_dependencies(ExampleCS ExampleTypes) diff --git a/ExampleCS b/ExampleCS new file mode 100755 index 0000000..b3ff871 Binary files /dev/null and b/ExampleCS differ diff --git a/client.c b/client.c deleted file mode 100644 index 3b79c62..0000000 --- a/client.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include "dnet-types.h" - -int main() -{ - printf("hello, client\n"); -} diff --git a/cs_example.c b/cs_example.c new file mode 100644 index 0000000..c6ccd9d --- /dev/null +++ b/cs_example.c @@ -0,0 +1,49 @@ +#include +#include +#include +#include + +#include "deps/dragonnet/listen.h" + +static DragonnetListener *l; + +static void connect_func(DragonnetPeer *p) +{ + char *str_addr = dragonnet_addr_str(p->raddr); + printf("new connection from %s\n", str_addr); + free(str_addr); + + dragonnet_listener_close(l); + dragonnet_listener_delete(l); + l = NULL; +} + +static void *srv_func() +{ + l = dragonnet_listener_new("[::1]:50000", &connect_func); + assert(l != NULL); + + dragonnet_listener_run(l); + return NULL; +} + +static void *clt_func() +{ + DragonnetPeer *p = dragonnet_connect("[::1]:50000"); + assert(p != NULL); + + dragonnet_peer_run(p); + dragonnet_peer_close(p); + dragonnet_peer_delete(p); + return NULL; +} + +int main() +{ + pthread_t srv_thread, clt_thread; + pthread_create(&srv_thread, NULL, &srv_func, NULL); + pthread_create(&clt_thread, NULL, &clt_func, NULL); + + pthread_join(clt_thread, NULL); + pthread_join(srv_thread, NULL); +} diff --git a/server.c b/server.c deleted file mode 100644 index 992f779..0000000 --- a/server.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include "dnet-types.h" - -int main() -{ - printf("hello, server\n"); -}