Witem serdecznie,
Chciałem napisać bota irc ponieważ potrzebuje zaimplementować w nim własne funkcjie lecz już na samym początku nie mogę sobie poradzić z połączeniem:

#include <stdio.h>
#include <windows.h>
#include <winsock.h>

int main(int argc, char* argv[])
{
    char nick[] = {"NICK Jimmy7\r\n"};
    char user[] = {"USER Jimmy7 user user :user\r\n"};
    char join[] = {"JOIN #test123\r\n"};
    char *p;

    int ret, sock;
    unsigned long ip;
    unsigned short port;
    struct sockaddr_in addr;

    char buf[4096];

#ifndef __unix__
    WSADATA wsdat;
    int ws_init = 0;
#endif

    ip = inet_addr("213.146.63.33");
    sscanf("6667", "%hu", &port);

#ifndef __unix__
    memset(&wsdat,0,sizeof(wsdat));
    if(WSAStartup(0x0101,&wsdat) != 0) puts("error");
    ws_init = 1;
#endif

    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = ip;
    addr.sin_port = htons(port);
    memset(addr.sin_zero, 0, sizeof(addr.sin_zero));

    sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    ret = connect(sock, (struct sockaddr *)&addr, sizeof(struct sockaddr));

    send(sock, user, strlen(user), 0);
    send(sock, nick, strlen(nick), 0);
    send(sock, join, strlen(join), 0);

    for(;;) {
        memset(buf, '\0', sizeof(buf));
        recv(sock, buf, sizeof(buf), 0);
        printf("%s", buf);

        p = strstr(buf, "PING");
        if(p != NULL)
        {
            sscanf(p, "PING :%s", nick);
            sprintf(buf, "PONG %s\r\n", nick);
            puts(buf);
            send(sock, nick, strlen(nick), 0);
        }
    }
    return 0;
}

Po uruchomieniu otrzymuje:

:torun.ircnet.pl NOTICE Auth :*** Looking up your hostname...

:torun.ircnet.pl NOTICE Auth :*** Found your hostname (xxx) -- cached

:torun.ircnet.pl NOTICE Auth :*** Looking up your ident...

PING :VDJUKIAFBM

:torun.ircnet.pl 931 Jimmy7 :Jesli nie mozesz dostac sie na PolNet wlacz w kliencie odpowiadanie na zapytanie CTCP VERSION

:torun.ircnet.pl PRIVMSG Jimmy7 :VERSION

:torun.ircnet.pl 451 JOIN :You have not registered

PONG VDJUKIAFBM

:torun.ircnet.pl NOTICE Auth :*** Ident request timed out.

ERROR :Closing link ([email protected]) [Registration timeout]