Advertisement
Guest User

Untitled

a guest
Nov 17th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <sys/types.h>
  5. #include <sys/socket.h>
  6. #include <unistd.h>
  7. #include <netinet/in.h>
  8. #include <vector>
  9. #include <string>
  10. #include <iostream>
  11. #include<fstream>
  12. #include <errno.h>
  13.  
  14.  
  15.  
  16. //std::vector<std::string> read_file();
  17.  
  18. void get_request(int sock, std::string fileName) {
  19.  
  20. printf("5ra");
  21.  
  22. /*
  23. int len = strlen(fileName.c_str());
  24. if (send(sock, fileName.c_str(), len, 0) != len){
  25. printf("dfsdf");
  26. }
  27. FILE* file = fopen(fileName.c_str(), "wb");
  28. int recv_size;
  29. char res[1024];
  30. if ((recv_size = recv(sock, res, sizeof(res), 0)) < 0){
  31. printf("err");
  32. }
  33. int resn = 0;
  34. while(res[resn++]!='\n');
  35. char t[100];
  36. strncpy(t,res,resn);
  37. std::cout<< " response is "<<t<<"of length "<<resn<<std::endl;
  38. int flen = (int)res[resn];
  39. flen+=((int)res[resn+1] * 256);
  40. std::cout<<"length is "<<flen;
  41. char buffer[1024];
  42. fwrite((char *)res+resn+2,1,flen,file);
  43. fclose(file);
  44. */
  45. }
  46.  
  47.  
  48. int main(int argc , char * argv []){
  49. int port_number;
  50. if (argc ==2){
  51. port_number = 80;
  52. }
  53. else if (argc == 3){
  54. port_number = atoi(argv[2]);
  55. }else{
  56. std::cout << "Incorrect number of params" << std::endl;
  57. return -1;
  58. }
  59. char * server_ip = argv[1];
  60. int socket_fd = socket(AF_INET,SOCK_STREAM,0);
  61. if (socket_fd<0){
  62. printf("Error creating the socket");
  63.  
  64. // print error message and make a function for error print :'D
  65. }
  66. struct sockaddr_in server_address;
  67. server_address.sin_family = AF_INET;
  68. server_address.sin_port = htons(port_number);
  69. std::cout<<"socket fd : "<< socket_fd << std::endl;
  70. std::cout << connect(socket_fd, (struct sockaddr *) &server_address, sizeof server_address )<< std::endl;
  71. if (connect(socket_fd, (struct sockaddr *) &server_address, sizeof server_address ) < 0){
  72.  
  73. std::cout << "connection failed" <<std::endl;
  74. std::cout << errno <<std::endl;
  75. return -1;
  76. }
  77. else{
  78. std::cout << "connection passed"<<std::endl;
  79. }
  80. std::cout << "hello" << std::endl;
  81. // std::vector<std::string> requests = read_file();
  82. //get_request(socket_fd,"bla.txt");
  83. printf("sdfsdf");
  84. }
  85.  
  86. std::vector<std::string> read_file()
  87. {
  88. std::ifstream in("requests.txt");
  89. std::string line;
  90. std::vector<std::string> requests;
  91. while (std::getline(in,line)){
  92. if (line.size()>0){
  93. requests.push_back(line);
  94. }
  95. }
  96. return requests;
  97. }
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110. /* int len = strlen("bla.txt");
  111. if (send(socket_fd, "bla.txt", len, 0) != len){
  112. printf("dfsdf");
  113. }
  114. FILE* file = fopen("bla.txt", "wb");
  115. int recv_size;
  116. char res[1024];
  117. if ((recv_size = recv(socket_fd, res, sizeof(res), 0)) < 0){
  118. printf("err");
  119. }
  120. int resn = 0;
  121. while(res[resn++]!='\n');
  122. char t[100];
  123. strncpy(t,res,resn);
  124. std::cout<< " response is "<<t<<"of length "<<resn<<std::endl;
  125. int flen = (int)res[resn];
  126. flen+=((int)res[resn+1] * 256);
  127. std::cout<<"length is "<<flen;
  128. char buffer[1024];
  129. fwrite((char *)res+resn+2,1,flen,file);
  130.  
  131. /*recv(socket_fd, &recv_size, 2, 0);
  132.  
  133. //if ((recv_size = recv(sock, buffer, sizeof(buffer), 0)) < 0)
  134. while (recv_size > 0) {
  135. printf("????");
  136. std::cout << recv_size << std::endl;
  137. fwrite(buffer, 1, recv_size, file);
  138. recv_size -= recv(socket_fd, buffer, sizeof(buffer), 0) ;
  139.  
  140. }*/
  141. //fclose(file);
  142.  
  143. // printf("passed in main");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement