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, '\0', BUFSIZ);
while(1)
{
re = recv(miosock, buffer, sizeof(buffer), 0);
buffer[re] = '\0';
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
|