Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-12-2011, 14:48   #1
UpdatedMind
Member
 
L'Avatar di UpdatedMind
 
Iscritto dal: Mar 2010
Messaggi: 60
[Java] Socket e ip

Salve a tutti, sto riscontrando un problema nella creazione di un programma

Il programma ha per base una chat di solo testo, gestita in maniera alquanto semplice. Ogni Postazione fa sia da client che da server per l'invio e ricezione(sempre in ascolto) di nuovi messaggi.

Il mio problema è il seguente: La connessione avviene Ip - Ip con una porta scelta da me. Il programma funziona correttamente in locale, e in remoto con l'aiuto di un qualsiasi programma di reti remote come hamachi. Nel momento in cui cerco di farli comunicare direttamente attraverso gli ip... non c'è risposta.
Non penso sia un problema di firewall in quanto l'ho testato anche disattivandolo. Molto probabilmente sbaglio io qualcosa concettualmente.. help

(Riassumendo, il programma è scritto correttamente in quanto localmente e in remoto attraverso gli ip di hamachi invio e ricevo senza problemi... mentre senza hamachi, con gli ip veri e propri... niente )

grazie in anticipo
UpdatedMind è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 15:24   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Dipende che tipo di ip parli.. se sei in una lan dovrebbe comunque funzionare, ma se invece cerchi di contattare un host fuori dalla tua lan la situazione diventa più complicata.

Com'è configurata la tua rete (routers, ecc... )e quella della macchina che cerchi di contattare?
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 15:38   #3
UpdatedMind
Member
 
L'Avatar di UpdatedMind
 
Iscritto dal: Mar 2010
Messaggi: 60
Quote:
Originariamente inviato da clockover Guarda i messaggi
Dipende che tipo di ip parli.. se sei in una lan dovrebbe comunque funzionare, ma se invece cerchi di contattare un host fuori dalla tua lan la situazione diventa più complicata.

Com'è configurata la tua rete (routers, ecc... )e quella della macchina che cerchi di contattare?
Sì, infatti in lan funziona tranquillamente. Localmente non ho alcun problema.

Le due macchine comunicanti dovrebbero essere due pc comunissimi. Quindi si presume che ognuno di loro sia collegato ad un router.

PC#1 - router - internet - router - PC#2

In che modo dovrei instaurare una connessione funzionante? Come posso far avvenire uno scambio dati?
UpdatedMind è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 15:49   #4
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quando un pc è dietro un router allora il pc è "nattato". Hai quindi 2 alternative

1) imposti il port forwarding del router in modo che le connessioni TCP o UDP su una certa porta vengano inoltrate al pc dove hai la chat. Metodo bruttissimo e poco pratico
2) ti crei un semplice server che fa solo da server. Questo lo metti dove ti pare avendo sempre i dovuti accorgimenti dei computer nattati (quindi port forwarding se sei dietro un router). I client ti fanno solo da client e si connettono al server e la loro comunicazione avviene attraverso di esso.

quindi

PC1 --> router --> ( internet - server - internet ) <-- router <-- PC2

non so se sono riuscito a spiegarmi bene
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 15:52   #5
Mettiu_
Member
 
L'Avatar di Mettiu_
 
Iscritto dal: Jul 2011
Messaggi: 246
Come presagito da clockover, la tua situazione è più complessa perchè i due pc, essendo collegati tramite router (che fa da NAT), non sono raggiungibili dall'esterno della rete di cui fanno parte. I due pc, per parlarsi in internet direttamente devono avere degli ip pubblici che, nel tuo caso, hanno solo i router. Quindi, visto che mi pare di capire che entrambi gli host devono fungere da server, hai due possibilità:
- entrambi i PC hanno IP pubblici (strada non molto percorribile);
- entrambi i router vengono configurati per fare port-forwarding della porta su cui la tua applicazione lavora.

EDIT: ops, scrivevamo contemporaneamente :-P
__________________
Non c'è cosa peggiore nella vita di un programmatore di un errore che si presenta solo ogni tanto.

CONCLUSO POSITIVAMENTE CON: oldfield
Mettiu_ è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 15:53   #6
UpdatedMind
Member
 
L'Avatar di UpdatedMind
 
Iscritto dal: Mar 2010
Messaggi: 60
Quote:
Originariamente inviato da clockover Guarda i messaggi
Quando un pc è dietro un router allora il pc è "nattato". Hai quindi 2 alternative

1) imposti il port forwarding del router in modo che le connessioni TCP o UDP su una certa porta vengano inoltrate al pc dove hai la chat. Metodo bruttissimo e poco pratico
2) ti crei un semplice server che fa solo da server. Questo lo metti dove ti pare avendo sempre i dovuti accorgimenti dei computer nattati (quindi port forwarding se sei dietro un router). I client ti fanno solo da client e si connettono al server e la loro comunicazione avviene attraverso di esso.

quindi

PC1 --> router --> ( internet - server - internet ) <-- router <-- PC2

non so se sono riuscito a spiegarmi bene
Ho ben capito dal punto di vista teorico e ti ringrazio per la conferma ^ ^

Il fatto è che il tipo di programma creato, volevo farlo funzionare sia da client che da server. Ma che segua la tua o questa strada c'è sempre il problema della connessione "nattata".

Programmo in java da relativamente poco... e possibilmente mi mancano le basi per poter implementare questo passaggio. Mi servirebbe qualche esempio di codice o di indicazioni sui comandi da usare
UpdatedMind è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 15:55   #7
UpdatedMind
Member
 
L'Avatar di UpdatedMind
 
Iscritto dal: Mar 2010
Messaggi: 60
Quote:
Originariamente inviato da Mettiu_ Guarda i messaggi
Come presagito da clockover, la tua situazione è più complessa perchè i due pc, essendo collegati tramite router (che fa da NAT), non sono raggiungibili dall'esterno della rete di cui fanno parte. I due pc, per parlarsi in internet direttamente devono avere degli ip pubblici che, nel tuo caso, hanno solo i router. Quindi, visto che mi pare di capire che entrambi gli host devono fungere da server, hai due possibilità:
- entrambi i PC hanno IP pubblici (strada non molto percorribile);
- entrambi i router vengono configurati per fare port-forwarding della porta su cui la tua applicazione lavora.

EDIT: ops, scrivevamo contemporaneamente :-P
Esatto.. i client fungono anche da server

Da quel che ho capito dovrei implementare il meccanismo che permetta di inoltrare al pc in questione il messaggio, passando dal suo router e instradandolo correttamente.... Ma come ho già risposto.. mi mancano le basi per questo tipo di operazione.. qualche consiglio?
UpdatedMind è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 16:09   #8
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Se capisci questo semplice esempio sono sicuro che sarà molto più semplice di come l'hai implementata.

1) Server
il server sta dove ti pare, anche dietro un router quindi nattato. Accetta connessioni dall'esterno mediante dei thread
2) Client
questi possono stare anche sottoterra, basta che c'è una rete. Ognuno ha un identificatore univoco. Ad esempio come messenger sono identificati con un indirizzo mail

il client si connette al server, il quale vi rimane in contatto mediante una connessione TCP/IP e sta li in attesa
l'altro client fa la stessa cosa

quando io scrivo un messaggio a te il messaggio passa attraverso il server il quale ti inoltra il messaggio. E questa è la tua chat funzionante ovunque, basta semplicemente sapere l'indirizzo del server e solo del server.


Se vuoi rimanere come stai devi operare su entrambi i routers.
Entri nella pagina di configurazione del router e trovi la pagina relativa al port forwarding (inoltro di porta). Scegli il tipo di connessione (TCP o UDP), il numero di porta con la quale dialoghi e l'indirizzo ip del computer. Questa operazione va fatta su entrambi i routers non dimenticare.
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 16:18   #9
UpdatedMind
Member
 
L'Avatar di UpdatedMind
 
Iscritto dal: Mar 2010
Messaggi: 60
Quote:
Originariamente inviato da clockover Guarda i messaggi
Se capisci questo semplice esempio sono sicuro che sarà molto più semplice di come l'hai implementata.

1) Server
il server sta dove ti pare, anche dietro un router quindi nattato. Accetta connessioni dall'esterno mediante dei thread
2) Client
questi possono stare anche sottoterra, basta che c'è una rete. Ognuno ha un identificatore univoco. Ad esempio come messenger sono identificati con un indirizzo mail

il client si connette al server, il quale vi rimane in contatto mediante una connessione TCP/IP e sta li in attesa
l'altro client fa la stessa cosa

quando io scrivo un messaggio a te il messaggio passa attraverso il server il quale ti inoltra il messaggio. E questa è la tua chat funzionante ovunque, basta semplicemente sapere l'indirizzo del server e solo del server.


Se vuoi rimanere come stai devi operare su entrambi i routers.
Entri nella pagina di configurazione del router e trovi la pagina relativa al port forwarding (inoltro di porta). Scegli il tipo di connessione (TCP o UDP), il numero di porta con la quale dialoghi e l'indirizzo ip del computer. Questa operazione va fatta su entrambi i routers non dimenticare.
Ammettiamo di voler implementare la tua scelta (n°1).
Il server lo posiziono nel mio pc, ergo nattato a causa della presenza del router. Un client esterno (in questo caso l'altro pc) per poter accedere al mio server non avrà lo stesso problema di connessione? Il mio problema è solo questo.. fare in modo che il messaggio parta da un pc e arrivi ad un altro (che arrivi ad un server o ad un client-server) ovvero superare il problema del nat


edit: da quel che ho capito, pensandoci... il problema non è legato al java o ad una qualche libreria con comandi da utilizzare, bensì ad una configurazione del router... no?

Ultima modifica di UpdatedMind : 24-12-2011 alle 16:23.
UpdatedMind è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 16:27   #10
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Si hai lo stesso problema (lo avevo già menzionato infatti) ma lo risolvi per il server con gli stessi accorgimenti per i computer nattati del mio ultimo post. Cioè abilitando il port forwarding per il server, però solo per il server. I client non avranno di questo problema
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 16:34   #11
UpdatedMind
Member
 
L'Avatar di UpdatedMind
 
Iscritto dal: Mar 2010
Messaggi: 60
Quote:
Originariamente inviato da clockover Guarda i messaggi
Si hai lo stesso problema (lo avevo già menzionato infatti) ma lo risolvi per il server con gli stessi accorgimenti per i computer nattati del mio ultimo post. Cioè abilitando il port forwarding per il server, però solo per il server. I client non avranno di questo problema
Certamente... credo di aver afferrato il problema con chiarezza. Grazie

Ergo, se volessi realizzare questa piccola chat dovrei comunque affidarmi necessariamente ad un programma che generi una rete locale come hamachi... (in quel caso tutto funziona correttamente...) che evidentemente bypassa il problema. A meno che non decidessi di creare un server e di modificare le impostazioni del mio router. Tutti necessiterebbero comunque del mio server attivo... ma non avrebbero localmente problemi di settaggi.
Non posso creare con facilità un'operazione di server-client se non con questa "spesa".
Correggimi se sbaglio. Grazie ancora per l'aiuto.

edit: BUON NATALE XD

Ultima modifica di UpdatedMind : 24-12-2011 alle 16:43.
UpdatedMind è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2011, 17:03   #12
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
In parole povere è come hai detto tu si

Buone Feste
clockover è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
31,4 Tbps: Aisuru sfonda il suo stesso r...
Giocattoli AI, una falla espone oltre 50...
OPPO Reno15 in viaggio con Gaia Gozzi: i...
Elon Musk valuta il gioco delle tre cart...
Nuove revisioni per Abarth 600e: arrivan...
Intelligenza artificiale, re-training e ...
LG presenta a ISE 2026 la nuova serie di...
Alienware: disponibile in Italia il nuov...
Arrivano le bodycam sui treni di Ferrovi...
Nike taglia 775 posti negli USA: l'autom...
Crimson Desert si mostra in un nuovo gam...
Addio transistor? Questo dispositivo usa...
Jensen Huang: le fabbriche negli Stati U...
Sam Altman ammette l'errore: GPT-5.2 &eg...
Super test al gelo della Norvegia: quant...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v