mi da sempre eccezione anche il tuo
Visualizzazione stampabile
mi da sempre eccezione anche il tuo
Si, ma serve capire che eccezione ti da ...
Nessuna...Ma mica puoi provare te con eclipse ???pls
Inviato dal mio GT-I9300 usando Androidiani App
ho provato il mio codice per cui ho anche l'applicazione Host.
Senza un programma che mi risponda quando apro la connessione da errore anche a me il mio codice (ma aggiungendo la riga che ti ho detto nel catch mi trovo l'errore nel logcat)
Se invece avvio il programma host su pc e gli faccio usare ip e porta corrette funziona senza problemicodice:07-01 18:27:26.849: D/TuaClasse(21812): Errore in gestione Socket
07-01 18:27:26.849: D/TuaClasse(21812): java.net.SocketException: No route to host
07-01 18:27:26.849: D/TuaClasse(21812): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
07-01 18:27:26.849: D/TuaClasse(21812): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
07-01 18:27:26.849: D/TuaClasse(21812): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
07-01 18:27:26.849: D/TuaClasse(21812): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
07-01 18:27:26.849: D/TuaClasse(21812): at java.net.Socket.startupSocket(Socket.java:705)
07-01 18:27:26.849: D/TuaClasse(21812): at java.net.Socket.tryAllAddresses(Socket.java:150)
07-01 18:27:26.849: D/TuaClasse(21812): at java.net.Socket.<init>(Socket.java:209)
07-01 18:27:26.849: D/TuaClasse(21812): at java.net.Socket.<init>(Socket.java:176)
07-01 18:27:26.849: D/TuaClasse(21812): at net.leieuncretino.alpha.dpad.DPad.tcpSend(DPad.java:225)
07-01 18:27:26.849: D/TuaClasse(21812): at net.leieuncretino.alpha.dpad.DPad$MouseThread.run(DPad.java:186)
Ok ade riprovo...potresti darmi il codice host..te ne sarei grato...
Inviato dal mio GT-I9300 usando Androidiani App
Questa è la classe che fa da server e rimane in ascolto.
L'ho pulita delle logiche aggiuntive che usavo di prova e che ti avrebbero solo fatto confusione (spero che tutto quel che è rimasto vada ma dovrebbe).
In pratica apre la porta 6789 (cambia il numero con quello che usi nel tuo client) e rimane in ascolto e poi stampa sullo standard output quello che ha ricevuto.
(è proprio una cosa banale, e di test, senza controlli o altro, giusto per vedere se arrivano dati)
ciao e facci sapere come va :)codice:public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
// TODO code application logic here
ServerSocket welcomeSocket = new ServerSocket(6789);
System.out.println("DPadServer: starting on system");
while(true)
{
Socket connectionSocket = welcomeSocket.accept();
InputStream in = connectionSocket.getInputStream();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(in));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
long timeout = 100;
long t0 = System.currentTimeMillis();
long time = 0;
while ((in.available() < 1) && (time < timeout)) {
try {
Thread.sleep(5);
} catch (InterruptedException ie) {
}
time = System.currentTimeMillis() - t0;
}
String clientSentence = inFromClient.readLine();
System.out.println("Received: " + clientSentence);
}
}
}
allora ho provato anche con la tua app lato server...funziona da pc a pc ma da pc a android nulla...non va...ho provato anche con il log.d ma vedo solo questi errori 07-02 17:00:17.140: D/TuaClass(938): Errore nel socket
07-02 17:00:20.838: W/InputManagerService(87): Got RemoteException sending setActive(false) notification to pid 899 uid 10046
07-02 17:00:20.927: D/gralloc_goldfish(938): Emulator without GPU emulation detected.
07-02 17:00:21.068: I/ActivityManager(87): Displayed com.example.client1/.Client: +19s671ms
07-02 17:00:21.327: W/NetworkManagementSocketTagger(87): setKernelCountSet(10013, 0) failed with errno -2
07-02 17:03:07.637: D/dalvikvm(166): GC_CONCURRENT freed 384K, 6% free 9534K/10119K, paused 5ms+4ms
sia con server acceso che spento
Ho provato anche a convertire il server in un app lato pc e funziona...ma da android nn funziona...i permessi li ho messi...e cm se fosse disabilitato qualcosa ma è tutto attivo
CI SONO RIUSCITOOOOOOO!!!soluzione usare un thread.
Mi fa piacere sentirlo.. in pratica funziona solo se è in un thread separato ?
(In effetti anche il mio codice era in un thread ma non ho pensato potesse essere collegata la cosa, per me è normale che la comunicazione tcp sia gestita da un thread a parte)