gcali (Normal User)
Newbie
Messaggi: 12
Iscritto: 23/03/2014
|
Salve a tutti!
Ho appena cominciato a studiare "Beej's Guide to Network Programming", ed ho un problema non trascurabile: i dati non vengono ricevuti dal pc del destinatario.
Pensando fosse una mia svista, ho controllato e riscritto più e più volte il codice, ma il problema persiste. Aprendo server e client e inserendo come indirizzo 127.0.0.1 ovviamente ricevo, perciò immagino non sia un problema di sorgenti.
Ho provato sia con due computer nella stessa LAN (inserendo l'indirizzo LAN), che con due computer in remoto (inserendo l'indirizzo IP pubblico), e credo che il problema sia che, se inserisco l'IP pubblico e il pc target condivide la rete con altri, il mio programma non "sa" dove instradare i dati.
Avete qualche idea?
(Mi scuso in anticipo se ho detto qualche scemenza, ho una conoscenza abbastanza superficiale sulle reti di computer, sono un autodidatta)
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Nella stessa LAN funziona? Non è chiaro ...
Sicuramente se il server sta su Internet, essendoci dei router da configurare nel mezzo, dipende dalla configurazione di tutti i sistemi e anche dai provider utilizzati (ad esempio, per Fastweb c'è un discorso a parte).
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
gcali (Normal User)
Newbie
Messaggi: 12
Iscritto: 23/03/2014
|
Non funziona neanche sulla stessa LAN, solo sullo stesso pc con l'indirizzo locale o con i socket di dominio locale.
La mia intenzione era quella di scrivere un semplice client-server di chat, perciò ho bisogno di stendere un sorgente "standard", che non dipenda dalle configurazioni delle singole reti. E' possibile farlo con una connessione fra due pc? E se non lo è, quali sono le alternative?
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Nella stessa LAN deve funzionare ...
Il server ascolterà sul proprio IP ... il client contatterà l'IP del server (ovviamente non utilizzerai mai il 127.0.0.1)
Il resto della domanda non l'ho capita. Che intendi con sorgente che non dipenda dalla configurazione di rete? La configurazione di rete è importantissima.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
GN (Member)
Guru
Messaggi: 772
Iscritto: 30/04/2011
|
Se usi windows il problema dev'essere nel firewall, prova a disattivarlo per quella porta.
|
|
gcali (Normal User)
Newbie
Messaggi: 12
Iscritto: 23/03/2014
|
Postato originariamente da GN:
Se usi windows il problema dev'essere nel firewall, prova a disattivarlo per quella porta. |
Uso Ubuntu, comunque non funziona neppure su Windows (con le opportune modifiche richieste da Winsock.h).
Postato originariamente da nessuno:
Il resto della domanda non l'ho capita. Che intendi con sorgente che non dipenda dalla configurazione di rete? La configurazione di rete è importantissima. |
Intendo qualcosa che possa funzionare a prescindere dalla configurazione, come i vecchi programmi di chat. Però mi viene in mente che due programmi di chat non si connettono direttamente fra di loro, ma con un server che sbriga il "lavoro sporco", è così?
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
A "prescindere dalla configurazione" non funziona nulla.
Non ha senso parlare di "vecchi programmi di chat".
Se parliamo di programmi che contattano un server, le cose non cambiano. Il server deve essere raggiungibile. Se dalla parte del server la configurazione non è corretta, non funzionerà nulla.
In realtà "server" è solo una "funzione" assunta da un programma in un particolare momento. E le regole per contattare un "programma server" sono sempre le stesse. Se la configurazione di rete del sistema su cui gira il "programma server" non è corretta, la cosa non funziona.
Quindi, riparti da zero e spiega nuovamente quali sono ancora i tuoi problemi. Se vuoi risolvere, segui esattamente quello che ti viene consigliato senza cercare "scorciatoie" inesistenti.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
()
Newbie
Messaggi:
Iscritto:
|
Ciao "gcali", le risposte al tuo problema possono essere tre:
1) Il firewall del S.O.
2) Il firewall del router
3) Errori nel codice del programma
Se è la terza risposta cerca di capire prima dove è l'errore e se proprio è il caso di postarlo e quantomeno cercare di capire dove è il problema, altrimenti per le altre due risposte penso che sai cosa dovresti fare. Limitare o disattivare momentaneamente i firewall per capire se sono loro la causa, perchè molte volte capita fidati . Ti auguro di risolvere al più presto.
Neo92
|
|