Advertisement
ZOOOO

Untitled

Dec 18th, 2015
3,548
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <unistd.h>
  4. #include <sys/types.h>
  5. #include <sys/socket.h>
  6. #include <sys/un.h>
  7.  
  8. #define SOCK_PATH "/home/threads_loger"
  9. #define BUF_LEN 256
  10.  
  11. int main() {
  12. int s, t, len;
  13. struct sockaddr_un remote;
  14. char buffer[BUF_LEN];
  15. if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
  16. perror("socket");
  17. exit(1);
  18. }
  19. std::cout << "Connecting...\n";
  20. remote.sun_family = AF_UNIX;
  21. strcpy(remote.sun_path, SOCK_PATH);
  22. len = strlen(remote.sun_path) + sizeof(remote.sun_family);
  23. if (connect(s, (struct sockaddr *) &remote, len) == -1) {
  24. perror("connect");
  25. exit(1);
  26. }
  27. std::cout << "Connected" << std::endl;
  28. while (1) {
  29. fgets(buffer, BUF_LEN, stdin);
  30. if (send(s, buffer, BUF_LEN, 0) == -1) {
  31. perror("send");
  32. exit(1);
  33. }
  34. // memset(buffer, 0, buf_len);
  35. while (1) {
  36. t = recv(s, buffer, BUF_LEN, MSG_WAITALL);
  37. if (t < 0)
  38. perror("recv");
  39. else if (t == 0) {
  40. printf("Server closed connection\n");
  41. exit(1);
  42. }
  43. printf("%s\n", buffer);
  44. if(buffer[BUF_LEN - 1])
  45. break;
  46. }
  47. }
  48. // close(s);
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement