Advertisement
Guest User

Untitled

a guest
Sep 12th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <sys/socket.h>
  4. #include <sys/types.h>
  5. #include <netdb.h>
  6.  
  7. int main() {
  8. int connected = 0;
  9. char server[1024]="irc.freenode.net";
  10. char nick[1024]= "NICK anon\r\n";
  11. char channel[1024]="JOIN #tiutiu\r\n";
  12. int port = 6667; // server port
  13. char user[1024] = "USER anon randomtext israndom \r\n"; // USER raw
  14. struct sockaddr_in addr;
  15. struct hostent *host;
  16. host = gethostbyname(server);
  17. addr.sin_addr.s_addr = *(unsigned long*)host->h_addr;
  18. addr.sin_family = AF_INET;
  19. addr.sin_port = htons((unsigned short)port);
  20. int sockd = socket(AF_INET, SOCK_STREAM, 0);
  21. connect(sockd, (struct sockaddr *)&addr, sizeof(addr));
  22. printf("Connecting to: %s ", server);
  23. send(sockd, nick, strlen(nick), 0); // Converts nick string to c-array and sends it to server
  24. printf("Sent: %s to server", nick);
  25. printf("CONNECTING TO CHANNEL %s ", channel);
  26. send(sockd, channel, strlen(channel), 0);
  27. printf("CONNECTED");
  28. send(sockd, user, strlen(user), 0);
  29. printf("sent: %s to server", user);
  30. int j=0;
  31. char sockbuff[4096]; // array to hold the incoming socket data
  32. while (connected < 7) {
  33. memset(&sockbuff, '\0', sizeof(sockbuff));
  34. recv(sockd, sockbuff, 4096, 0);
  35. printf("%s\n %d \n",sockbuff, connected);
  36. connected+=1;
  37. }
  38. char* msg;
  39. printf("MESSAGE: ");
  40. while (scanf("%s",&msg)!=EOF) {
  41. char message[1024]="PRIVMSG #tiutiu : hello\r\n";
  42. printf("sending %s" , message);
  43. send(sockd, message, strlen(message), 0);
  44. printf("%s\n", sockbuff);
  45. }
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement