#include #include #include #include #include #include //#include "init.h" //#include "structs.h" #include #include struct irc_server { unsigned char server[1024]; unsigned short int port; int sock; }; void conecta(struct irc_server *server); void envia(struct irc_server *server,char *msg); int main() { struct irc_server server; int x; char teste[1000]; //server.server = "irc.brasnet.org"; strcpy(server.server,"irc.brasnet.org\0"); server.port = 6667; conecta(&server); while(1) { x=recv(server.sock,teste,sizeof(teste),0); if (x == -1) { perror("recv"); exit(1); } teste[x]='\0'; printf("%s",teste); } return (0); } void conecta(struct irc_server *server) { struct hostent *he; struct sockaddr_in alvo; server->sock = socket(AF_INET,SOCK_STREAM,0); he = gethostbyname(server->server); if (!he) { puts("Host no encontrado."); exit(-1); } alvo.sin_family = AF_INET; alvo.sin_port = htons(server->port); //alvo.sin_addr.s_addr = he->h_addr; memcpy(&alvo.sin_addr.s_addr,he->h_addr,4); bzero(&(alvo.sin_zero), 8); if (connect(server->sock,(struct sockaddr *) &alvo,sizeof(struct sockaddr)) < 0) { perror("connect"); getchar(); exit(-1); } envia(server,"USER Nyx _Nyx NyxBot :Viviane"); envia(server,"NICK Nyx"); envia(server,"MSG NICKSERV IDENTIFY owned"); envia(server,"JOIN #c4ll"); } void envia(struct irc_server *server,char *msg) { int he; he = send(server->sock,msg,sizeof(msg),0); if(he < 0) { puts("Erro ao enviar a mensagem."); getchar(); exit(-1); } msg = NULL; }