All pastes #392461 Raw Edit

Untitled

public text v1 · immutable
·published 2007-03-12 21:24 UTC
rendered paste body
#include <sys/socket.h>
#include <netdb.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <arpa/inet.h>
#include "init.h"
#include "structs.h"
#include <sys/types.h>
#include <unistd.h>

void conecta(struct irc_server *server);
void envia(struct irc_server *server,char *msg,...);

int main()
{
	struct irc_server server;
	char teste[1000];
	server.server = "irc.brasnet.org";
	server.port = 2593;
	fork();
	conecta(&server);
	while(1)
	{
		recv(server.sock,teste,sizeof(teste),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;
	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 250491");
	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;
}