Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [JAVA] Scambio di messaggi tra due pc in "internet"

    Ciao a tutti.
    Ho un problemino che non riesco a risolvere....
    La situazione è questa: 2 pc appartenenti a 2 lan differenti che devono scambiarsi messaggi.
    Pensavo di utilizzare TCP e i socket (Server e Client)...

    Il problema è relativo agli indirizzi IP...entrambi i pc hanno indirizzi locali e per accedere ad internet utilizzano un router, quindi tutti i pc della medesima lan hanno lo stesso ip.

    Come faccio a metterli in contatto? Come faccio a trovare un indirizzo IP univoco? Lo faccio attraverso il numero di porta?

    Utilizzerei poi un server che "contiene" i due indirizzi ip in modo tale che non debba passarglieli a mano e che la cosa sia "distribuita"...ma questa è un'altra storia!

    Grazie
    Simone

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    16
    gli indirizzi ip sono suddivisi in vari range alcuni dei quali sono usati per la comunicazione con esterno e altri sono destinati ad essere usati all'interno della lan.
    Può capitare che due computer su due lan abbiano lo stesso indirizzo interno ma non può capitare che abbiano indirizzo ip uguale nella comunicazione con l'esterno tramite i protocolli internet (il protocol stack). Infatti il pacchetto che viene spedito dal computer 196.10.11.110 (per esempio), appartente alla lan a, viene eventualmente switchato e poi, tramite router, inviato alla "rete", lan b, del terminale cui è indirizzato per mezzo del router.
    Quello che conta è l'indirizzo della rete di appartenenza del computer obiettivo: poi da li si provvede allo smistamento alla sottorete o al terminale di riferimento. Se poi vi è un server o un router che si occupano della traduzione degli indirizzi interni in altro indirizzo per nascondere all'esterno la struttura interna della rete... non so se la cosa funziona, soprattutto se sono disabilitati telnet, ecc.... La porta specifica il punto di accesso per il servizio, ovvero il protocollo usato per l'invio dei dati: telnet, ftp, http, ecc....
    Se vi è un DNS basta specificare l'URL a cui il client invia la sua richiesta, compreso il nome del terminale a cui si invia il tutto. Il server risponde usando l'indirizzo del mittente. Questi scherzi qui si fanno all'interno di una stessa lan. Molto più difficile tra lan diverse con router e firewall annessi e connessi. dico bene????

    BEN VENGANO LE CORREZIONI. GRAZIE.

  3. #3
    Credo sia tutto corretto...
    ma il punto è proprio questo! Visto le premesse, come faccio? Hai idee?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    16
    ah, una cosa che dimenticavo di specificare è la seguente: l'indirizzo ip di una macchina contiene l'indirizzo della rete (di solito nella prima parte) e poi l'indirizzo del singolo terminale (nella parte successiva). Il router individua la rete di destinazione usando la "netmask". Il resto dell'indirizzo specifica la macchina di riferimento.

    Quindi in un mondo senza firewall e access list si potrebbe inviare dati con un apposito programmino server scritto in java in risposta alle richieste di un altro programmino client su altra macchina in altra rete. Altrimenti bisogna usare qualcosa di simile al peer to peer, che permette di travalicare i limiti del sistema server client tradizionale.


    (chissà quante ne ho sparate qui... )

  5. #5
    JXTA è una possibile soluzione?
    Qualcuno ha usato questa libreria? Sto iniziando a documentarmi, potrebbe tornare utile...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    16
    In teoria basterebbe un programma java che contenga l'indirizzo ip (globally unique) della macchina a cui inviare la richiesta e poi il resto dovrebbe andare da sè. Altrimenti bisogna informarsi dall'amministratore della rete a cui si vuole inviare la richiesta o i dati sul tipo di servizio accessibile su quale macchina (ssh o altro). Se è accessibile solo http e posta elettronica... buona sera
    ma tu cosa vuoi fare? è qualcosa di lecito?

  7. #7
    Assolutamente sì!
    Voglio realizzare una sorta di messenger "aziendale" al quale possono collegarsi sia utenti appartenenti alla stessa lan che utenti sparsi in tutto il mondo.

    Attualmente sto tendando con una classica comunicazione TCP Client (Socket) / Server (ServerSocket). Col client nessun problema...col server invece i problemi ci sono!

    1) l'indirizzo IP di tutti i pc della lan è lo stesso
    2) se metto in ascolto il "server" su quell'indirizzo mi da un'eccezione

    Chissà....

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    16
    ma globally unique significa che si tratta di un indirizzo ip pubblico e non ripetuto per altri domini... non che è uguale per tutte le macchine della stessa lan.

    jxta viene usata per creare programmi p2p e contiene un esempio di applicazione p2p
    scaricando l'intero pacchetto ... ora non ricordo l'indirizzo

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    16
    poi per questo messenger basterebbe creare una pagina web dalla quale gli utenti si registrano per poi essere autorizzati ad accedere e prendere visione dei messaggi immessi e immetterne dei propri, come con le chat.

  10. #10
    JXTA l'ho scaricato e sto cercando di saltarci fuori...
    La pagina web esiste, ma solo per la fase di login, dopo mi sarebbe piaciuto gestire la cosa in p2p...in modo tale in futuro di poter inviare anche dei file.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.