Advertisement
Guest User

main.cpp

a guest
Feb 2nd, 2011
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.75 KB | None | 0 0
  1. #include "Socket.h"
  2. //#include "Http.h"
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <fstream>
  7.  
  8. using namespace std;
  9.  
  10. // Date: Sun, 14 Nov 2010 19:43:26 GMT
  11. std::string httpDate() {
  12.     time_t rawtime;
  13.     char buffer[80];
  14.     std::string bufstr;
  15.  
  16.     time ( &rawtime );
  17.  
  18.     strftime (buffer,80,"Date: %a, %d %b %Y %X GMT",localtime ( &rawtime ));
  19.  
  20.     bufstr = buffer;
  21.     return bufstr;
  22. }
  23.  
  24. int main2( void ) {
  25.     //HttpStatusLine asd;
  26.     //asd.SetStatusCode(HttpStatusLine::HttpStatusCode::OK);
  27.     std::string watta;
  28.  
  29.     ServerSocket mySocket;
  30.     mySocket.Start();
  31.     mySocket.Initialize();
  32.     mySocket.Bind( 8888 );
  33.     mySocket.Listen();
  34.  
  35.    
  36.  
  37.     ofstream myfile;
  38.     myfile.open ("example.txt");
  39.    
  40.    
  41.  
  42.     clock_t asd1;
  43.     clock_t asd2;
  44.  
  45.     char recv_buf[580] = {};
  46.     int recv_buf_size = 581;
  47.     int recv_buf_length = 0;   
  48.  
  49.     mySocket.AcceptClient();
  50.  
  51.     cout<<"kezdodik\n";
  52.     while( true ) {
  53.        
  54.         asd1 = clock();
  55.  
  56.         recv_buf_length = 0;
  57.         while( recv_buf_length=mySocket.RecvChar( recv_buf , recv_buf_size ) ) {
  58.             if( recv_buf_length<600 || (recv_buf[recv_buf_length-1]==10 && recv_buf[recv_buf_length-2]==13) )break;
  59.         }
  60.  
  61.         myfile << recv_buf;
  62.         myfile << "-----\n-----\n-----";
  63.        
  64.         for(int j = 0;j<recv_buf_length;++j) {
  65.             myfile << (char)recv_buf[j] << "\t [" << (int)recv_buf[j] << "]\n";
  66.         }
  67.  
  68.         watta = "HTTP/1.1 200 OK";watta+= 13;watta+= 10;
  69.         watta += httpDate();watta+= 13;watta+= 10;
  70.         watta += "Server: Apache/2.2.17 (Win32) PHP/5.3.5";watta+= 13;watta+=10;
  71.         watta += "X-Powered-By: PHP/5.3.5";watta+= 13;watta+=10;
  72.         watta += "Content-Length: 3";watta+= 13;watta+=10;
  73.         watta += "Keep-Alive: timeout=5, max=100";watta+= 13;watta+=10;
  74.         watta += "Connection: Keep-Alive";watta+= 13;watta+=10;
  75.         watta += "Content-Type: text/html";watta+= 13;watta+=10;
  76.         watta += 13;
  77.         watta += 10;
  78.         watta += "AS5";
  79.  
  80.         mySocket.SendChar( watta.data() , watta.length() );
  81.         asd2 = clock();
  82.        
  83.         std::cout<<(asd2-asd1)*1000.0/CLOCKS_PER_SEC;
  84.  
  85.  
  86.     }
  87.  
  88.     mySocket.CloseClient();
  89.  
  90.     myfile.close();
  91.  
  92.     return 1;
  93. }
  94.  
  95. int main3(void) {
  96.     ClientSocket mySocket;
  97.    
  98.    
  99.     std::string watta;
  100.     watta = "POST / HTTP/1.1";watta += 13;watta += 10;
  101.     watta += "Host: localhost:80";watta += 13;watta += 10;
  102.     watta += "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0b11pre) Gecko/20110130 Firefox/4.0b11pre";watta += 13;watta += 10;
  103.     watta += "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";watta += 13;watta += 10;
  104.     watta += "Accept-Language: en-us,en;q=0.5";watta += 13;watta += 10;
  105.     watta += "Accept-Encoding: gzip, deflate";watta += 13;watta += 10;
  106.     watta += "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";watta += 13;watta += 10;
  107.     watta += "Keep-Alive: 115";watta += 13;watta += 10;
  108.     watta += "Connection: keep-alive";watta += 13;watta += 10;
  109.     watta += "Referer: http://localhost/projects/ajax/index2.html"; watta += 13;watta += 10;
  110.     watta += "Content-Length: 3";watta += 13;watta += 10;
  111.     watta += "Content-Type: text/plain; charset=UTF-8";watta += 13;watta += 10;
  112.     watta += "Origin: http://localhost";watta += 13;watta += 10;
  113.     watta += "Pragma: no-cache";watta += 13;watta += 10;
  114.     watta += "Cache-Control: no-cache";watta += 13;watta += 10;
  115.     watta += 13;watta += 10;
  116.     watta += "ASD";
  117.  
  118.     /*ofstream myfile;
  119.     myfile.open ("example2.txt");
  120.  
  121.     myfile << watta.data();
  122.     myfile << "\n-----\n-----\n-----\n";
  123.        
  124.     for(int j = 0;j<watta.length();++j) {
  125.         myfile << (char)watta[j] << "\t [" << (int)watta[j] << "]\n";
  126.     }*/
  127.  
  128.     char * recv;
  129.     recv = (char *)malloc(sizeof(char)*1024);
  130.  
  131.     int len = 1024;
  132.     mySocket.SetServerInfo("127.0.0.1",80);
  133.     cout<<"OK";
  134.     mySocket.Start();
  135.     mySocket.Connect();
  136.     cout<<"_OK";
  137.     mySocket.SendChar(watta.data(),watta.length());
  138.     cout<<"_OK";
  139.     len = mySocket.RecvChar(recv,len);
  140.  
  141.     ofstream myfile;
  142.     myfile.open ("example3.txt");
  143.  
  144.     myfile << recv;
  145.     myfile << "\n-----\n-----\n-----\n";
  146.        
  147.     for(int j = 0;j<len;++j) {
  148.         myfile << (char)recv[j] << "\t [" << (int)recv[j] << "]\n";
  149.     }
  150.  
  151.     return 1;
  152. }
  153.  
  154. int main4(void) {
  155.     std::string watta;
  156.     watta = "HTTP/1.1 200 OK";watta+= 13;watta+= 10;
  157.     watta += httpDate();watta+= 13;watta+= 10;
  158.     watta += "Server: Apache/2.2.17 (Win32) PHP/5.3.5";watta+= 13;watta+=10;
  159.     watta += "X-Powered-By: PHP/5.3.5";watta+= 13;watta+=10;
  160.     watta += "Content-Length: 3";watta+= 13;watta+=10;
  161.     watta += "Keep-Alive: timeout=5, max=100";watta+= 13;watta+=10;
  162.     watta += "Connection: Keep-Alive";watta+= 13;watta+=10;
  163.     watta += "Content-Type: text/html";watta+= 13;watta+=10;
  164.     watta += 13;
  165.     watta += 10;
  166.     watta += "AS5";
  167.  
  168.     ofstream myfile;
  169.     myfile.open ("example4.txt");
  170.  
  171.     myfile << watta.data();
  172.     myfile << "\n-----\n-----\n-----\n";
  173.        
  174.     for(int j = 0;j<watta.length();++j) {
  175.         myfile << (char)watta[j] << "\t [" << (int)watta[j] << "]\n";
  176.     }
  177.  
  178.     return 1;
  179. }
  180.  
  181.  
  182. int main(void) {
  183.     main2();
  184.  
  185.     return 1;
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement