6 #include "deps/dragonnet/listen.h"
8 static DragonnetListener *l;
10 static void connect_func(DragonnetPeer *p)
12 char *str_addr = dragonnet_addr_str(p->raddr);
13 printf("new connection from %s\n", str_addr);
16 dragonnet_listener_close(l);
17 dragonnet_listener_delete(l);
21 static void *srv_func(__attribute((unused)) void *unused)
23 l = dragonnet_listener_new("[::1]:50000", &connect_func);
26 dragonnet_listener_run(l);
30 static void *clt_func(__attribute((unused)) void *unused)
32 DragonnetPeer *p = dragonnet_connect("[::1]:50000");
35 dragonnet_peer_run(p);
36 dragonnet_peer_close(p);
37 dragonnet_peer_delete(p);
41 int main(__attribute((unused)) int argc, __attribute((unused)) char **argv)
43 pthread_t srv_thread, clt_thread;
44 pthread_create(&srv_thread, NULL, &srv_func, NULL);
45 pthread_create(&clt_thread, NULL, &clt_func, NULL);
47 pthread_join(clt_thread, NULL);
48 pthread_join(srv_thread, NULL);