Oppure

Loading
22/08/07 22:45
Phantom
Rieccomi a chiedere qualche info xD , inpratica sto facendo una spece di programmino scemo ke si connette ai canali di irc e dovrebbe sia scrivere ke leggere ciò ke dicono ji altri .... fino a ke sn io ke scrivo tutto apposto quando si tratta di leggere nada nn va nulla , e questo xkè quando diciamo si avvia il thread x leggere a na certa mi da tipo errori di connessione e crasha :S so ke forse è chiedervi un pò troppo ma se avete tempo da perdere vi posto il code che sto usando x leggere , se poi preferite vi do direttamente tutto quanto compreso di main :S

-----------------------------------------------
CODE:

DWORD IrcSimuletor::Recived(LPDWORD IpdwParam)
{
    SOCKET miosock,client;
    struct sockaddr_in miosock_addr,client_addr;
    WORD p;
    int len(char *);
    int lun, err=0;
    char buffer[2000];
int re;
    LPHOSTENT host;
    p=MAKEWORD(2,0);
    miosock=socket(PF_INET,SOCK_STREAM,0);
    miosock_addr.sin_family=PF_INET;
    miosock_addr.sin_port=htons(porta);
    host=gethostbyname (server);
    if (host==NULL){
        err=WSAGetLastError();
        printf ("Errore host\t%d",err);
        return (1);
    }

    miosock_addr.sin_addr = *((LPIN_ADDR)*host->h_addr_list);
    lun=sizeof(struct sockaddr);
    err=bind(miosock,(struct sockaddr*)&miosock_addr,sizeof(struct sockaddr_in));
    err=listen(miosock,1);
    lun=sizeof (struct sockaddr);
    client=accept(miosock,(struct sockaddr*)&client_addr,&lun);
    if (err!=0)
    printf ("Errore connessione";);
    memset(buffer, 'Rieccomi a chiedere qualche info xD , inpratica sto facendo una spece di programmino scemo ke si connette ai canali di irc e dovrebbe sia scrivere ke leggere ciò ke dicono ji altri .... fino a ke sn io ke scrivo tutto apposto quando si tratta di leggere nada nn va nulla , e questo xkè quando diciamo si avvia il thread x leggere a na certa mi da tipo errori di connessione e crasha :S so ke forse è chiedervi un pò troppo ma se avete tempo da perdere vi posto il code che sto usando x leggere , se poi preferite vi do direttamente tutto quanto compreso di main :S

-----------------------------------------------
CODE:

DWORD IrcSimuletor::Recived(LPDWORD IpdwParam)
{
    SOCKET miosock,client;
    struct sockaddr_in miosock_addr,client_addr;
    WORD p;
    int len(char *);
    int lun, err=0;
    char buffer[2000];
int re;
    LPHOSTENT host;
    p=MAKEWORD(2,0);
    miosock=socket(PF_INET,SOCK_STREAM,0);
    miosock_addr.sin_family=PF_INET;
    miosock_addr.sin_port=htons(porta);
    host=gethostbyname (server);
    if (host==NULL){
        err=WSAGetLastError();
        printf ("Errore host\t%d",err);
        return (1);
    }

    miosock_addr.sin_addr = *((LPIN_ADDR)*host->h_addr_list);
    lun=sizeof(struct sockaddr);
    err=bind(miosock,(struct sockaddr*)&miosock_addr,sizeof(struct sockaddr_in));
    err=listen(miosock,1);
    lun=sizeof (struct sockaddr);
    client=accept(miosock,(struct sockaddr*)&client_addr,&lun);
    if (err!=0)
    printf ("Errore connessione";);
    memset(buffer, '{parsed_message}', BUFSIZ);
    while(1)
    {
        re = recv(miosock, buffer, sizeof(buffer), 0);
        buffer[re] = '{parsed_message}';
        printf("%s",buffer);
    }
    closesocket (client);
    closesocket(miosock);
    WSACleanup();
    
    return 0;
}


FINE
-----------------------------------------------

Se potete aiutarmi ve ne sarei molto grato dato ke oramai sn proprio bloccato e nn so come andare avanti uff :S ', BUFSIZ);
    while(1)
    {
        re = recv(miosock, buffer, sizeof(buffer), 0);
        buffer[re] = 'Rieccomi a chiedere qualche info xD , inpratica sto facendo una spece di programmino scemo ke si connette ai canali di irc e dovrebbe sia scrivere ke leggere ciò ke dicono ji altri .... fino a ke sn io ke scrivo tutto apposto quando si tratta di leggere nada nn va nulla , e questo xkè quando diciamo si avvia il thread x leggere a na certa mi da tipo errori di connessione e crasha :S so ke forse è chiedervi un pò troppo ma se avete tempo da perdere vi posto il code che sto usando x leggere , se poi preferite vi do direttamente tutto quanto compreso di main :S

-----------------------------------------------
CODE:

DWORD IrcSimuletor::Recived(LPDWORD IpdwParam)
{
    SOCKET miosock,client;
    struct sockaddr_in miosock_addr,client_addr;
    WORD p;
    int len(char *);
    int lun, err=0;
    char buffer[2000];
int re;
    LPHOSTENT host;
    p=MAKEWORD(2,0);
    miosock=socket(PF_INET,SOCK_STREAM,0);
    miosock_addr.sin_family=PF_INET;
    miosock_addr.sin_port=htons(porta);
    host=gethostbyname (server);
    if (host==NULL){
        err=WSAGetLastError();
        printf ("Errore host\t%d",err);
        return (1);
    }

    miosock_addr.sin_addr = *((LPIN_ADDR)*host->h_addr_list);
    lun=sizeof(struct sockaddr);
    err=bind(miosock,(struct sockaddr*)&miosock_addr,sizeof(struct sockaddr_in));
    err=listen(miosock,1);
    lun=sizeof (struct sockaddr);
    client=accept(miosock,(struct sockaddr*)&client_addr,&lun);
    if (err!=0)
    printf ("Errore connessione";);
    memset(buffer, '{parsed_message}', BUFSIZ);
    while(1)
    {
        re = recv(miosock, buffer, sizeof(buffer), 0);
        buffer[re] = '{parsed_message}';
        printf("%s",buffer);
    }
    closesocket (client);
    closesocket(miosock);
    WSACleanup();
    
    return 0;
}


FINE
-----------------------------------------------

Se potete aiutarmi ve ne sarei molto grato dato ke oramai sn proprio bloccato e nn so come andare avanti uff :S ';
        printf("%s",buffer);
    }
    closesocket (client);
    closesocket(miosock);
    WSACleanup();
    
    return 0;
}


FINE
-----------------------------------------------

Se potete aiutarmi ve ne sarei molto grato dato ke oramai sn proprio bloccato e nn so come andare avanti uff :S
aaa
24/08/07 14:15
Phantom
Problema risolto xD
aaa
05/09/07 21:55
pierotofy
E come l'hai risolto?
Il mio blog: piero.dev
06/09/07 12:01
Phantom
In Pratica io ho la classe IrcSimuletor dove ci sta la funzione connect e receved
e all'inizio pensavo ke fosse necessario avere due funzioni x leggere e scrivere poi ho capito ke in questo modo cmq doveva andare a connettersi due volte ad irc e quindi spreco di tempo e tutto lol :D x leggere bastava mettere dentro la funzione connect la parte:

while (1)
{
len=recv(.......);
buffer[len]='In Pratica io ho la classe IrcSimuletor dove ci sta la funzione connect e receved
e all'inizio pensavo ke fosse necessario avere due funzioni x leggere e scrivere poi ho capito ke in questo modo cmq doveva andare a connettersi due volte ad irc e quindi spreco di tempo e tutto lol :D x leggere bastava mettere dentro la funzione connect la parte:

while (1)
{
len=recv(.......);
buffer[len]='{parsed_message}';
printf("%s \r\n",buffer);
........
........
tutto il resto :D
........
}

mi stavo complicando la vita x niente lol';
printf("%s \r\n",buffer);
........
........
tutto il resto :D
........
}

mi stavo complicando la vita x niente lol
aaa