20/01/12 21:15
Il_Bomba
Ciao a tutti,
ho un problema con un piccolo programma che ho appena creato con le socket.
Il programma consiste in un terminale che consente di comunicare con un altro computer con messaggi testuali (una cosa tipo telnet per intenderci).
Il problema è che è lentissimo nell'inviare messaggi al computer di destinazione.
All'inizio ho pensato che fosse un problema di connessione dell'adsl, ma facendo le stesse cose con telnet, ho visto che non avevo problemi.
Qualcuno sa a cosa potrebbe essere dovuta questa lentezza?
Vi posto il programma:
P.S: Ho anche provato a togliere la funzione clearbuffers, ma non cambia niente
Grazie a tutti quelli che risponderanno.
ho un problema con un piccolo programma che ho appena creato con le socket.
Il programma consiste in un terminale che consente di comunicare con un altro computer con messaggi testuali (una cosa tipo telnet per intenderci).
Il problema è che è lentissimo nell'inviare messaggi al computer di destinazione.
All'inizio ho pensato che fosse un problema di connessione dell'adsl, ma facendo le stesse cose con telnet, ho visto che non avevo problemi.
Qualcuno sa a cosa potrebbe essere dovuta questa lentezza?
Vi posto il programma:
#include<stdio.h> #include<sys/socket.h> #include<arpa/inet.h> char mymex[100]; char servmex[256]; void clearbuffers(); int main(){ int server=0; struct sockaddr_in serv_addr; int port=0; int err=0; char address[16]; printf("Bomba's socket interface\n"); printf("IP: "); scanf("%s", address); printf("Port: "); scanf("%i", &port); server=socket(AF_INET, SOCK_STREAM, 0); serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(port); serv_addr.sin_addr.s_addr=inet_addr(address); err=connect(server, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); if (err!=-1){ printf("Connessione a %s avvenuta senza problemi.\n", address); printf("Inizio comunicazione.\n"); } else{ printf("Errore durante la connessione.\n"); } while (mymex!="q"){ clearbuffers(); recv(server, servmex, 256, 0); printf("%s\n", servmex); scanf("%s", mymex); send(server, mymex, 100, 0); } close(server); if (err!=-1) printf("Fine comunicazione."); } void clearbuffers(){ int i; for (i=0; i<100; i++){ mymex[i]='Ciao a tutti,
ho un problema con un piccolo programma che ho appena creato con le socket.
Il programma consiste in un terminale che consente di comunicare con un altro computer con messaggi testuali (una cosa tipo telnet per intenderci).
Il problema è che è lentissimo nell'inviare messaggi al computer di destinazione.
All'inizio ho pensato che fosse un problema di connessione dell'adsl, ma facendo le stesse cose con telnet, ho visto che non avevo problemi.
Qualcuno sa a cosa potrebbe essere dovuta questa lentezza?
Vi posto il programma:#include<stdio.h> #include<sys/socket.h> #include<arpa/inet.h> char mymex[100]; char servmex[256]; void clearbuffers(); int main(){ int server=0; struct sockaddr_in serv_addr; int port=0; int err=0; char address[16]; printf("Bomba's socket interface\n"); printf("IP: "); scanf("%s", address); printf("Port: "); scanf("%i", &port); server=socket(AF_INET, SOCK_STREAM, 0); serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(port); serv_addr.sin_addr.s_addr=inet_addr(address); err=connect(server, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); if (err!=-1){ printf("Connessione a %s avvenuta senza problemi.\n", address); printf("Inizio comunicazione.\n"); } else{ printf("Errore durante la connessione.\n"); } while (mymex!="q"){ clearbuffers(); recv(server, servmex, 256, 0); printf("%s\n", servmex); scanf("%s", mymex); send(server, mymex, 100, 0); } close(server); if (err!=-1) printf("Fine comunicazione."); } void clearbuffers(){ int i; for (i=0; i<100; i++){ mymex[i]='{parsed_message}'; } for (i=0; i<256; i++){ servmex[i]='{parsed_message}'; } }
P.S: Ho anche provato a togliere la funzione clearbuffers, ma non cambia niente
Grazie a tutti quelli che risponderanno.
'; } for (i=0; i<256; i++){ servmex[i]='Ciao a tutti,
ho un problema con un piccolo programma che ho appena creato con le socket.
Il programma consiste in un terminale che consente di comunicare con un altro computer con messaggi testuali (una cosa tipo telnet per intenderci).
Il problema è che è lentissimo nell'inviare messaggi al computer di destinazione.
All'inizio ho pensato che fosse un problema di connessione dell'adsl, ma facendo le stesse cose con telnet, ho visto che non avevo problemi.
Qualcuno sa a cosa potrebbe essere dovuta questa lentezza?
Vi posto il programma:#include<stdio.h> #include<sys/socket.h> #include<arpa/inet.h> char mymex[100]; char servmex[256]; void clearbuffers(); int main(){ int server=0; struct sockaddr_in serv_addr; int port=0; int err=0; char address[16]; printf("Bomba's socket interface\n"); printf("IP: "); scanf("%s", address); printf("Port: "); scanf("%i", &port); server=socket(AF_INET, SOCK_STREAM, 0); serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(port); serv_addr.sin_addr.s_addr=inet_addr(address); err=connect(server, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); if (err!=-1){ printf("Connessione a %s avvenuta senza problemi.\n", address); printf("Inizio comunicazione.\n"); } else{ printf("Errore durante la connessione.\n"); } while (mymex!="q"){ clearbuffers(); recv(server, servmex, 256, 0); printf("%s\n", servmex); scanf("%s", mymex); send(server, mymex, 100, 0); } close(server); if (err!=-1) printf("Fine comunicazione."); } void clearbuffers(){ int i; for (i=0; i<100; i++){ mymex[i]='{parsed_message}'; } for (i=0; i<256; i++){ servmex[i]='{parsed_message}'; } }
P.S: Ho anche provato a togliere la funzione clearbuffers, ma non cambia niente
Grazie a tutti quelli che risponderanno.
'; } }
P.S: Ho anche provato a togliere la funzione clearbuffers, ma non cambia niente
Grazie a tutti quelli che risponderanno.
Ultima modifica effettuata da Il_Bomba 20/01/12 21:18
aaa