Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [ANDROID] UnknownHostException in Socket

    Ciao, sto realizzando un'applicazione client tramite Android Studio, per connettermi ad un applicazione server scritta in Visual C#.

    Purtroppo sono incappato nell'eccezione "UnknownHostException".
    Ora nel file "AndroidManifest.xml" è naturalmente presente la stringa

    codice:
    <uses-permission android:name="android.permission.INTERNET" />
    Mentre il codice effettivo dell'applicazione è il seguente:

    codice:
    package com.example.skynet.clientsocket;
    
    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Button;
    
    import java.io.IOException;
    import java.net.Socket;
    import java.lang.*;
    
    public class MainActivity extends AppCompatActivity {
    
        // Variabili
    String messaggio = "";
        String indirizzoIP = "";
        int porta = 0;
        Socket client;
    
        @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
    
            FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
    public void onClick(View view) {
                    Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                            .setAction("Action", null).show();
                }
            });
    
            // Codice del programma
    Button btn = (Button) findViewById(R.id.button);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
    public void onClick(View v) {
                    client = new Socket("192.168.1.3",11000);
    
                }
            });
        }
    
        @Override
    public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }
    
        @Override
    public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    
            //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
                return true;
            }
    
            return super.onOptionsItemSelected(item);
        }
    }
    L'eccezione viene generata sull'istruzione:

    codice:
    client = new Socket("192.168.1.3",11000);
    L'indirizzo "192.168.1.3" è quello della macchina locale. Ho provato anche con "127.0.0.1", "localhost" ecc...

    Suggerimenti? Grazie!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da SkyNET290897 Visualizza il messaggio
    Ciao, sto realizzando un'applicazione client tramite Android Studio, per connettermi ad un applicazione server scritta in Visual C#.

    Purtroppo sono incappato nell'eccezione "UnknownHostException".
    Non sviluppo su Android, ma non credo che sia un problema di "permessi" per l'accesso a internet. Stai provando la applicazione su un device fisico .. o su un emulatore?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Uso un emulatore, ma l'errore viene generato in fase di scrittura del codice, prima che l'emulatore venga lanciato, quindi non penso sia quello.

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.