Guest User

Untitled

a guest
Feb 24th, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <stdio.h>
  2. #include "libzt.h"
  3. #include <inttypes.h>
  4. #include <thread>
  5.  
  6. #if defined(_WIN32)
  7. #include <WinSock2.h>
  8. #include <WS2tcpip.h>
  9. #include <Ws2def.h>
  10. #include <stdint.h>
  11. #include <windows.h>
  12. #endif
  13.  
  14. int main()
  15. {
  16. uint64_t nwid = 0xa09acf0233eabcde;
  17. zts_startjoin("place", nwid);
  18.  
  19. int result, socket_fd4, socket_fd6, err;
  20.  
  21. socket_fd4 = zts_socket(AF_INET, SOCK_DGRAM, 0);
  22. sockaddr_in servicezt4;
  23. servicezt4.sin_family = AF_INET;
  24. servicezt4.sin_addr.s_addr = INADDR_ANY;
  25. servicezt4.sin_port = htons(9595);
  26. err = zts_bind(socket_fd4, (struct sockaddr*)&servicezt4, sizeof(sockaddr_in));
  27. err = zts_listen(socket_fd4, 1);
  28.  
  29. socket_fd6 = zts_socket(AF_INET6, SOCK_DGRAM, 0);
  30. sockaddr_in6 servicezt6;
  31. servicezt6.sin6_family = AF_INET6;
  32. servicezt6.sin6_addr = IN6ADDR_ANY_INIT;
  33. servicezt6.sin6_port = htons(9595);
  34. err = zts_bind(socket_fd6, (struct sockaddr*)&servicezt6, sizeof(sockaddr_in6));
  35. err = zts_listen(socket_fd6, 1);
  36.  
  37. auto t = std::thread([socket_fd4]()
  38. {
  39. fd_set readset;
  40. int result;
  41. while (true)
  42. {
  43. FD_ZERO(&readset);
  44. FD_SET(socket_fd4, &readset);
  45. struct timeval timeout;
  46. timeout.tv_sec = 0;
  47. timeout.tv_usec = 100;
  48. result = zts_select(socket_fd4 + 1, &readset, NULL, NULL, &timeout);
  49. DEBUG_INFO("result=%d", result);
  50. if (result > 0)
  51. {
  52. char buffer[2048];
  53. struct sockaddr_storage src_addr;
  54. socklen_t src_addr_len = sizeof(src_addr);
  55. ssize_t count = zts_recvfrom(socket_fd4, buffer, sizeof(buffer), 0, (struct sockaddr*)&src_addr, &src_addr_len);
  56. DEBUG_INFO("buf=%s", &buf);
  57. }
  58. }
  59. });
  60. t.join();
  61.  
  62. return 0;
  63. }
Add Comment
Please, Sign In to add comment