così - Ho questo client Socket (non XMLSocket, solo Socket). Ho anche uno script PHP personalizzato sul mio server, che ascolta sulla porta X. Il mio client prova a connettersi ad esso.Errore socket - a volte?
Tutto funziona, sicurezza e comunicazione, sincronizzazione e quant'altro. Ma - il Flash Player (in realtà il runtime AIR) lancia un errore quando prova a connettersi, ma SOLO quando il server non è in esecuzione ... Cosa? È davvero strano - l'errore è in realtà gestito da try catch (IOError), e anche più strano, la linea che viene specificata nell'output come riga di errore è la linea in cui creo solo il socket ...?
Hm ...
uscita:
Error #2044: Unhandled IOErrorEvent:. text=Error #2031: Socket Error.
at ---.server::Client()[---/server/Client.as:167]
at Function/<anonymous>()[---_fla.MainTimeline::frame1:430]
at Function/<anonymous>()
at Function/<anonymous>()[---_fla.MainTimeline::frame1:375]
Codice:
try {
Sock = new Socket(); // THIS is line 167
} catch (e:IOError){
log("Could not connect!");
status = "disconnected";
}
Non importa - il server dovrebbe essere ancora online, gli errori non lo farà presentarsi ... Ma ignorare un errore non è buono.
Un'ultima cosa: quando commento la linea in cui mi connetto effettivamente usando Sock.connect (...) - non lancia l'errore, ma ovviamente non funziona ... Inoltre, la parte di connessione è anche nel blocco try catch (IOError) ...
PERCHÉ Flash dice che il problema è nella riga 167 quando è evidentemente altrove? E/o quale può essere il problema?
Oh, penso di aggiungere quel gestore, ma poi penso che sia troppo tardi - posso aggiungerli solo dopo l'inizializzazione ... Ma sì - l'errore è stato fatto da .connect(). Grazie comunque. –