Enviado em 22/03/2020 - 04:17h
Bom dia pessoal, tentando conectar no irc aqui por sockets e entrar em um canal, mas parece que não chega nem a conectar... da sempre quase a mesma coisa:
$ ./irc irc.freenode.net 6667
:kornbluth.freenode.net NOTICE * :*** Looking up your hostname...
:kornbluth.freenode.net NOTICE * :*** Checking Ident
hostname...
:kornbluth.freenode.net NOTICE * :*** Found your hostname
ame...
:kornbluth.freenode.net NOTICE * :*** No Ident response
ame...
ERROR :Closing Link: xxx.xxx.xx.x (Connection timed out)
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(char argc,char **argv)
{
int sockirc,le;
struct addrinfo ircserver,*port;
char mensagem[12] = "/join #test";
char resposta[2056];
if(argc<2)
{
printf("\n%s ircserver port\n",argv[0]);
exit(0);
}
memset(&ircserver,0,sizeof(ircserver));
ircserver.ai_family=AF_INET;
ircserver.ai_socktype = SOCK_STREAM;
getaddrinfo(argv[1],argv[2], &ircserver, &port);
if((sockirc = socket(port->ai_family,port->ai_socktype,port->ai_protocol))==-1)
{
perror("socket()");
exit(1);
}
if((connect(sockirc,port->ai_addr,port->ai_addrlen))==-1)
{
perror("connect()");
exit(1);
}
if((send(sockirc,mensagem,strlen(mensagem),0))<0)
{
perror("send()");
exit(1);
}
while(le=read(sockirc,resposta,sizeof(resposta)))
{
fprintf(stdout,"%s",resposta);
}
return (0);
}
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 (2)
como instalar o docker desktop e o docker no debian 12 arm64 (11)