Autore Topic: Far stampare l'indirizzo IP  (Letto 1368 volte)

Offline Ulisse.Odisseo

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows
Far stampare l'indirizzo IP
« il: 07 Febbraio 2014, 12:49:57 CET »
0
Salve a tutti,
spero di non sbagliare sezione, ho una richiesta:
ho creato un Socket che si connette an un indirizzo IP, vorrei, una volta effettuata la connessione, stampare a video l'indirizzo IP appena "Pingato".
Questo è il codice da me creato, ma purtroppo non esce nulla, è possibile un'altra via?

                                try {
                          Socket s = new Socket();   //definisco il socket
//ho definito host(come stringa)
                                                        String host = 10.10.xxx...ecc
                     s.connect( new InetSocketAddress( host, 37777 ), 1000 );
                     InetAddress inetaddress = s.getInetAddress();
                     System.out.println("Inet Address is " + inetaddress);   

Per stampare a video l'IP a cui mi sono appena collegato devo usare il comando Toast.makeText(context, text, duration) ?
Però il comando InetAddress inetaddress = s.getInetAddress(); non mi crea una variabile-Stringa che posso inserire al posto di text "text"

grazie

Offline kalacta269

  • Utente normale
  • ***
  • Post: 152
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Asus Transformer pad tf300
  • Sistema operativo:
    windows7
Re:Far stampare l'indirizzo IP
« Risposta #1 il: 07 Febbraio 2014, 13:01:08 CET »
+1
Salve a tutti,
spero di non sbagliare sezione, ho una richiesta:
ho creato un Socket che si connette an un indirizzo IP, vorrei, una volta effettuata la connessione, stampare a video l'indirizzo IP appena "Pingato".
Questo è il codice da me creato, ma purtroppo non esce nulla, è possibile un'altra via?

                                try {
                          Socket s = new Socket();   //definisco il socket
//ho definito host(come stringa)
                                                        String host = 10.10.xxx...ecc
                     s.connect( new InetSocketAddress( host, 37777 ), 1000 );
                     InetAddress inetaddress = s.getInetAddress();
                     System.out.println("Inet Address is " + inetaddress);   

Per stampare a video l'IP a cui mi sono appena collegato devo usare il comando Toast.makeText(context, text, duration) ?
Però il comando InetAddress inetaddress = s.getInetAddress(); non mi crea una variabile-Stringa che posso inserire al posto di text "text"

grazie

non ho mai usato questa classe.... ma dalla documentazione : http://developer.android.com/reference/java/net/InetAddress.html

vedo che è possibile fare il toString :-)

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Far stampare l'indirizzo IP
« Risposta #2 il: 07 Febbraio 2014, 13:37:49 CET »
0
Forse ho capito male io.. ma non hai già la stringa host?

Offline Ulisse.Odisseo

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows
Re:Far stampare l\'indirizzo IP
« Risposta #3 il: 07 Febbraio 2014, 14:19:18 CET »
0
Forse ho capito male io.. ma non hai già la stringa host?

Ciao undead ,
si ho già la stringa host, io vorrei semplicemente stampare a video proprio quella stringa, ma non passandola in qualche println ecc... ma utilizzando uno dei Metodi legati al Socket.
Solo che sto avendo problemi ad utilizzare
Socket socket;
socket.getInetAddress() socket.getLocalAddress() ecc... non riesco a prendere il parametro "creato" da questo metodo e stamparlo,
hai qualche idea come fare?
grazie!

Post unito: 07 Febbraio 2014, 14:23:04 CET
non ho mai usato questa classe.... ma dalla documentazione : http://developer.android.com/reference/java/net/InetAddress.html

vedo che è possibile fare il toString :-)

Grazie kalacta269,
bella dritta,
sto avendo difficoltà comunque, tu hai idea su come muoversi?
saluti!
« Ultima modifica: 07 Febbraio 2014, 14:23:04 CET da Ulisse.Odisseo, Reason: Merged DoublePost »

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Far stampare l'indirizzo IP
« Risposta #4 il: 07 Febbraio 2014, 15:35:25 CET »
+1
Codice (Java): [Seleziona]
  //...
  InetAddress inetaddress = s.getInetAddress();
  String ipAddrs = inetaddress.getHostAddress();
  Toast.makeText(context, ipAddrs , Toast.LENGTH_SHORT).show();
  //...

Spulciando la documentazione di InetAddress.
Comunque ha anche ragione undead: se non salta un'eccezione, e quindi la connessione ha successo, l'indirizzo ip lo hai già... è String host.


Offline Ulisse.Odisseo

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows
Re:Far stampare l\'indirizzo IP
« Risposta #5 il: 07 Febbraio 2014, 15:59:11 CET »
0
Codice (Java): [Seleziona]
  //...
  InetAddress inetaddress = s.getInetAddress();
  String ipAddrs = inetaddress.getHostAddress();
  Toast.makeText(context, ipAddrs , Toast.LENGTH_SHORT).show();
  //...

Spulciando la documentazione di InetAddress.
Comunque ha anche ragione undead: se non salta un'eccezione, e quindi la connessione ha successo, l'indirizzo ip lo hai già... è String host.

Grazie mille Sakazaki , provo subito ilcodice,
si ha avete ragione entrambi, ma la mia intenzione è "stampare" a video l'IP "facendomelo dare" dal Socket/getInetAddress,

gentilissimo!

Post unito: 07 Febbraio 2014, 16:07:08 CET
Codice (Java): [Seleziona]
  //...
  InetAddress inetaddress = s.getInetAddress();
  String ipAddrs = inetaddress.getHostAddress();
  Toast.makeText(context, ipAddrs , Toast.LENGTH_SHORT).show();
  //...

Spulciando la documentazione di InetAddress.
Comunque ha anche ragione undead: se non salta un'eccezione, e quindi la connessione ha successo, l'indirizzo ip lo hai già... è String host.

Mannaggia, non mi da errore, "gira" tranquillamente,ma non stampa a video l'IP "pingato",
facendo il Debug dell'applicazione, alla connessione Socket non da problemi,
al valora della Stringa ipAddrs mi da questo commento : "ipAddrs cannot to be resolved a variable"
ho allegato il LogCat
mi sa che sono impedito...
« Ultima modifica: 07 Febbraio 2014, 16:07:09 CET da Ulisse.Odisseo, Reason: Merged DoublePost »

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Far stampare l'indirizzo IP
« Risposta #6 il: 07 Febbraio 2014, 16:15:51 CET »
0
Hai messo i permessi di accedere ad internet nel manifest?

Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

Offline Ulisse.Odisseo

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows
Re:Far stampare l'indirizzo IP
« Risposta #7 il: 07 Febbraio 2014, 16:19:56 CET »
0
Hai messo i permessi di accedere ad internet nel manifest?

Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

Si ce l'ho il permesso, non cosa proprio come fare

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Far stampare l'indirizzo IP
« Risposta #8 il: 07 Febbraio 2014, 16:28:33 CET »
+1
Prova a postare il manifest, perché 9 volte su 10 quell'errore è perché manca il permesso di accedere alla rete.

PS: e fai un clean and rebuild del progetto, a volte non piglia subito le modifiche al manifest
« Ultima modifica: 07 Febbraio 2014, 16:30:44 CET da Sakazaki »

Offline Ulisse.Odisseo

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows
Re:Far stampare l\'indirizzo IP
« Risposta #9 il: 07 Febbraio 2014, 16:40:53 CET »
0
Prova a postare il manifest, perché 9 volte su 10 quell'errore è perché manca il permesso di accedere alla rete.

PS: e fai un clean and rebuild del progetto, a volte non piglia subito le modifiche al manifest

Fatto, chiuso-aperto Eclipse ecc...non capisco cosa non va...

Post unito: 07 Febbraio 2014, 16:41:48 CET
Prova a postare il manifest, perché 9 volte su 10 quell'errore è perché manca il permesso di accedere alla rete.

PS: e fai un clean and rebuild del progetto, a volte non piglia subito le modifiche al manifest

Ecco il MANIFEST:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.zsocket"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
       <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.zsocket.CollegamentoSocket"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Far stampare l'indirizzo IP
« Risposta #10 il: 07 Febbraio 2014, 17:13:36 CET »
0
Allora... aspetta un attimo.

se tu fai

String miastringa = InetAddress.getByName(host);

E stampi la stringa?