Advertisement
Guest User

Untitled

a guest
Dec 5th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. kliens:
  2.  
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <stdio.h>
  6. #include <netinet/in.h>
  7. #include <netinet/ip.h>
  8. #include <string.h>
  9. #include <arpa/inet.h>
  10.  
  11.  
  12. int main() {
  13. //man socket
  14. int my_socket = socket(AF_INET, SOCK_STREAM, 0);
  15. //man 7 ip sockaddr_in
  16. /* struct sockaddr_in {
  17. sa_family_t sin_family;
  18. in_port_t sin_port;
  19. struct in_addr sin_addr;
  20. };
  21.  
  22. struct in_addr {
  23. uint32_t s_addr;
  24. };*/
  25.  
  26. struct sockaddr_in server_infos;
  27. server_infos.sin_family = AF_INET;
  28. server_infos.sin_port = htons(35000);
  29. server_infos.sin_addr.s_addr = inet_addr("127.0.0.1");
  30.  
  31. connect(my_socket, (struct sockaddr *)&server_infos, sizeof(struct sockaddr));
  32. //man send, man recv
  33. char input[1000];
  34. recv(my_socket, input, 999, 0);
  35. printf("Uzenet a szervertől: %s", input);
  36.  
  37. while(1) {
  38. printf("Mit akarsz kuldeni:\n");
  39. fgets(input, 999, stdin);
  40. send(my_socket, input, strlen(input), 0);
  41. recv(my_socket, input, 999, 0);
  42. printf("Valasz: %s", input);
  43. }
  44. return 0;
  45.  
  46. }
  47.  
  48. server:
  49.  
  50. #include <sys/types.h>
  51. #include <sys/socket.h>
  52. #include <stdio.h>
  53. #include <netinet/in.h>
  54. #include <netinet/ip.h>
  55. #include <string.h>
  56. #include <arpa/inet.h>
  57.  
  58. int main() {
  59. int my_socket, cli1_socket, cli2_socket;
  60.  
  61. struct sockaddr_in server_infos;
  62. struct sockaddr_in client_infos;
  63. socklen_t sock_size = sizeof(struct sockaddr_in);
  64.  
  65. my_socket = socket(AF_INET, SOCK_STREAM, 0);
  66.  
  67. server_infos.sin_family = AF_INET;
  68. server_infos.sin_port = htons(35000);
  69. server_infos.sin_addr.s_addr = INADDR_ANY;
  70. //man bind
  71. bind(my_socket, (struct sockaddr *)&server_infos, sock_size);
  72. //man listen
  73. listen(my_socket, 2);
  74. //man 2 accept
  75. cli1_socket = accept(my_socket, (struct sockaddr *)&client_infos, &sock_size);
  76. cli2_socket = accept(my_socket, (struct sockaddr *)&client_infos, &sock_size);
  77.  
  78. const char *msg_cli1 = "Hello klines1\n";
  79. const char *msg_cli2 = "Hello klines2\n";
  80. send(cli1_socket, msg_cli1, strlen(msg_cli1), 0);
  81. send(cli2_socket, msg_cli2, strlen(msg_cli2), 0);
  82.  
  83. char cli1_msg[1000];
  84. char cli2_msg[1000];
  85.  
  86. while(1) {
  87. recv(cli1_socket, cli1_msg, 999, 0);
  88. recv(cli2_socket, cli2_msg, 999, 0);
  89. }
  90.  
  91. return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement