Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

Untitled

a guest Mar 13th, 2018 231 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. /***************************************************************************
  2.  *            Connection.cc
  3.  *
  4.  *  Fri Mar  7 16:13:20 2008
  5.  *  Copyright  2008  Cain
  6.  *  Darkdemun@gmail.com
  7.  ****************************************************************************/
  8.  
  9.  
  10. #include "Connection.h"
  11. #include <time.h>
  12.  
  13. #ifndef CONNECT
  14. #define CONNECT 1
  15.  
  16. Connection::Connection()
  17. {
  18. };
  19.  
  20. Connection::Connection(Serv server)
  21. {
  22.     cout << "tryin..." << endl;
  23.     Connect(server);
  24. };
  25.  
  26. Connection::~Connection()
  27. {
  28. };
  29.  
  30. int Connection::Connect(Serv server) // write errors to a file
  31. {
  32.     sockfd = socket(PF_INET, SOCK_STREAM, 0);
  33.     cout << "trying......." << endl;
  34.     he = gethostbyname(server.GetServer().c_str());
  35.     dest_addr.sin_family = AF_INET;
  36.     dest_addr.sin_port = htons(server.GetPort());
  37.     dest_addr.sin_addr.s_addr = ((struct in_addr *) he->h_addr)->s_addr;
  38.     memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  39.    
  40.     if(connect(sockfd, (struct sockaddr *)&dest_addr, sizeof dest_addr) == -1)
  41.     {
  42.         perror("socket"); //write errors to a file
  43.         return -1;
  44.     }
  45.    
  46.     string init = "PASS "+server.GetPass()+"\r\nSERVER " +server.GetSName()+ " 2 Services by Cain_";
  47.     cout << init << endl;
  48.     SendStr(init);
  49.     connected = true;
  50.     return 0;
  51. };
  52.  
  53. int Connection::SendStr(string msg)
  54. {
  55.         msg = msg+"\r\n";
  56.     char *buf = (char*) msg.c_str();
  57.     int total = 0;        // how many bytes we've sent
  58.  
  59.     int bytesleft = strlen(buf); // how many we have left to send
  60.     int n;
  61.  
  62.     while(total < strlen(buf))
  63.         {
  64.         n = send(sockfd, buf+total, bytesleft, 0);
  65.         if (n == -1) { break; }
  66.         total += n;
  67.         bytesleft -= n;
  68.         }
  69.     return 0;
  70. };
  71.  
  72. int Connection::RecvStr(string * buffer)
  73. {
  74.    
  75.         char* buf = (char*) malloc(1024);
  76.         char get[2];
  77.         buf[0] = '\0';
  78.         int bytesread = 0;
  79.        
  80.         while(bytesread = recv(sockfd,get,1,0))
  81.         {
  82.  
  83.                 if(get[0] == '\n')
  84.                 {
  85.                         *buffer = string(buf);
  86.                         return 1;
  87.                 }
  88.                 else
  89.                 {
  90.                         get[1] = '\0';
  91.                         strcat(buf,get);
  92.  
  93.                 }
  94.         }
  95.         return 0;
  96. };
  97.  
  98. bool Connection::IsConnected() const
  99. {
  100.     return connected;
  101. };
  102.  
  103. string Connection::GetTime() const
  104. {
  105.     time_t rawtime;
  106.     time(&rawtime);
  107.     char *time;
  108.     sprintf(time, "%d", rawtime);
  109.     string ttime = string(time);
  110.     return ttime;
  111. };
  112. #endif
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top