Advertisement
boxmein

Hello sockets!

Feb 26th, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  1. // Networking Test 'N' IRC Bot .cpp
  2. #include <iostream>
  3. #include <winsock.h>
  4.  
  5. int PASCAL connect (SOCKET, const struct sockaddr*, int);
  6. int PASCAL send(SOCKET, const char *, int, int);
  7. int PASCAL recv(SOCKET, char *, int, int);
  8.  
  9. SOCKET s;
  10.  
  11. bool connectToHost(int port, const char * ip) {
  12.     WSADATA wsadata;
  13.     int error = WSAStartup(0x0202, &wsadata);
  14.     if (error) return false;
  15.     if (wsadata.wVersion != 0x0202) {
  16.         WSACleanup();
  17.         return false;
  18.     }
  19.  
  20.     struct sockaddr_in target;
  21.     target.sin_family = AF_INET;
  22.     target.sin_port = htons(port);
  23.     // First and only error (yet) arises here.
  24.     @h@ target.sin_addr = inet_addr(ip);
  25.     /*
  26.    
  27. PS C:\Users\Johannes\Kood\C++\Source> gcc ntnib.cpp ## START
  28. ntnib.cpp: In function 'bool connectToHost(int, const char*)':
  29. ntnib.cpp:24:32: error: no match for 'operator=' in 'target.sockaddr_in::sin_addr = inet_addr(ip)'
  30. ntnib.cpp:24:32: note: candidate is:
  31. c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/winsock.h:193:8: note: in_addr& in_addr::o
  32. perator=(const in_addr&)
  33. c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/winsock.h:193:8: note:   no known conversi
  34. on for argument 1 from 'long unsigned int' to 'const in_addr&'
  35. PS C:\Users\Johannes\Kood\C++\Source> ## END
  36.  
  37.     */
  38.  
  39.     s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  40.     if (s == INVALID_SOCKET) return false;
  41.  
  42.     if (connect(s, (SOCKADDR *) &target, sizeof(target)) == SOCKET_ERROR)
  43.         return false;
  44.     else {
  45.         // The fun begins here
  46.         std::cout << "Hello yes we have landed";
  47.         return true;
  48.     }
  49. }  
  50. void closeConnection() {
  51.     if (s) closesocket(s);
  52. }
  53.  
  54.  
  55.  
  56. int main (int argc, char** argv) {
  57.     const char * sendtext = "Helloooooooo";
  58.     connectToHost(6667, "127.0.0.1");
  59.     send(s, sendtext, sizeof sendtext, 0);
  60.  
  61.  
  62.     WSACleanup();
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement