R: [Pluto-help] Comunicazione di rete: Aiuto.

Losciale Roberto RLosciale a Fideuramvita.it
Mar 19 Mar 2002 17:36:52 CET


	Mi permetto di risponderti in privato.....
	E' una questione di indirizzi in memoria.......
	Ti evidenzio la parte che dovresti controllare.
	E dove sta la LISTEN(SOCKET,NN)???????????


> // thread per la gestione dell' accept
> void *accept_thread(void*arg)
> {	  		
> 	sockaddr_in from;
> 	int sockNum=(int)arg;
> 	int newSock;
		CHAR	HOST[20];	/*IO LA DEFINIREI QUI E
COSI'.......CHE NE DICI???*/
> 	unsigned int fromLen=sizeof(from);
		MEMSET(HOST,0,SIZEOF(HOST));

> 	for(;;)	// ciclo continuo per la gestione delle chiamate
> 	{      				
>    		if (  (newSock=::accept(sockNum,(struct sockaddr
> *)&from,&fromLen))  > 0 )
>    		{
>    			set_idconn(newSock);	// salvo l'ID socket nel
> primo buffer
				/*
>    			char*host=::inet_ntoa(from.sin_addr); 
				*/
				HOST	=	INET_NTOA(FROM.SIN_ADDR);
				/*IO NON FAREI COSI'..DEFINIREI UN BUFFER
CHAR HOST[20] MA NON QUI'
				MA ALL'INIZIO DELLA ROUTINE...........TI
FACCIO NOTARE CHE TU IN QUESTO MODO 
				NON DEFINISCI NULLA.......MEGLIO BATTEZZI
SOLO UN PUNTATORE CHAR.......
				ESSENDO UN PUNTATORE -) VEDI TU.......E
COMUNQUE STA NEL LOOP
				EPPOI OGNI VOLTA CHE HAI ASSEGNATO L'IP
FAREI UNA MEMSET..
				MEMSET(HOST,0,SIZEOF(HOST));
				*/


> 			set_idhost(host);		// salvo l'IP
> address nel secondo buffer
				MEMSET(HOST,0,SIZEOF(HOST));

>    		}
> 	}
> 	pthread_exit((void*)0);
> }
> 
> // array degli ID di connesione
> void set_idconn(int idconn)
> {
> 	for (int i=0;i<31;i++)	// 32 è il numero massimo di connessioni che
> posso stabilire
> 	{
> 		if (i>31) throw;
> 		if (array_conn[i]==0)
> 		{
> 			array_conn[i]=idconn;
> 			break;
> 		}
> 	}
> }
> 
> // array degli IP address
> void set_idhost(char* host)
> {
> 	for (int i=0;i<31;i++)
> 	{
> 		if (i>31) throw;
> 		if (array_host[i]==0)
> 		{
> 			array_host[i]=host;
> 			break;
> 		}
> 	}
> }
> 
> 
> 
> _______________________________________________
> pluto-help mailing list
> pluto-help a lists.pluto.linux.it
> http://lists.pluto.linux.it/mailman/listinfo/pluto-help




More information about the pluto-help mailing list