[Info] Esame 23/02 Clicca QUI per vedere il messaggio nel forum |
rider |
Qualcuno ha fatto l'esame oggi??? puo dire com'era e postare i temi d'esame?? please... |
mafalda |
io ho fatto la parte di laboratorio...era un po' piu' semplice dell'altra volta, ma credo sia per il fatto che abbiamo avuto venerdi' il colloquio con il prof.
L'esercizio era simile a quello vecchio.
Io ho problemi a fare il secondo esercizio di Java (la parte da fare a casa)...
non ho capito cosa intende per:
"...entrambi i personaggi leggono dalla Socket tanti messaggi COMPLETI quanti ne sono presenti in questo momento.."
e non capisco se Poldo deve esser fatto da due Thread e Luigina no, oppure entrambi....?!?!?...sob...
qualcuno saprebbe spiegarmi, please? |
Lunik |
ho letto il testo... si è simile a quello dell'altra volta... xò ehm non ho ben chiaro xè nel testo c'erano i metodi della classe String....
se ho capito bene c'è solo un invio e ricezione di "SMACK " o "smack "... :roll: :roll:
mi son xsa qualcosa di importante x caso? :roll: |
mafalda |
si', i metodi della classe String servivano per l'invio delle stringhe ecc., io mi riferisco alla parte da sviluppare a casa...non riesco a capire bene come dobbiamo organizzare il tutto.
Hai qualche idea? |
Lunik |
idea no...
mi chiedo a cosa serve il metodo chatAt()....
forse x fare controlli sulla stringa x capire se è in maiuscolo o minuscolo? I metodi sono quelli da usare nella versione in casa??
:help: |
0m4r |
>>chatAt()....
premetto che non ho il testo dell'esame ma,
potrebbe essere un errore di battitura ed essere invece charAt() |
Michael |
perché quando compilo qualche esercizio in java mi da sempre problemi con gli outputstream???? ma non ci capisco niente.. eh eh... |
Lunik |
Originally posted by 0m4r
>>chatAt()....
premetto che non ho il testo dell'esame ma,
potrebbe essere un errore di battitura ed essere invece charAt()
buahahah si si scusa...dovrò farla finita prima o poi con 'ste chat :rotfl: |
devil |
Per la parte da fare a casa ci sono un po' di domande che vorrei fare(specialmente al professore):
_Cosa significa che i personaggi leggono dalla socket tanti messaggi COMPLETI quanti ne sono presenti in quel momento?
...le socket non vengono lette un byte alla volta?
_Lo Zio Poldo inizia a spedire lo"SMACK " solamente dopo che ha ricevuto lo "smack" dalla talpa o sa già che ne deve spedirne 10 e non si proccupa di questo?
_La talpa "protesta" solo una volta quando la connessione è finita, o protesta in tempo reale soprattutto quando lo zio Poldo è in ritardo sul ricambio dei "bacioni"?
_Come è possibile che un messaggio sia sintatticamente sbagliato? le lettere vengono spedite in sequenza da localhost a localhost ed è impossibile che arrivano in ordine inverso!dobbiamo mettere un ritardo casuale? |
0m4r |
Originally posted by Michael
perché quando compilo qualche esercizio in java mi da sempre problemi con gli outputstream???? ma non ci capisco niente.. eh eh...
magari se posti il codice possiamo vedere dove sbaglio....detta cosi è un po difficile aiutarti! |
mafalda |
Originally posted by devil
Per la parte da fare a casa ci sono un po' di domande che vorrei fare(specialmente al professore):
_Cosa significa che i personaggi leggono dalla socket tanti messaggi COMPLETI quanti ne sono presenti in quel momento?
...le socket non vengono lette un byte alla volta?
_Lo Zio Poldo inizia a spedire lo"SMACK " solamente dopo che ha ricevuto lo "smack" dalla talpa o sa già che ne deve spedirne 10 e non si proccupa di questo?
[...]
_Come è possibile che un messaggio sia sintatticamente sbagliato? le lettere vengono spedite in sequenza da localhost a localhost ed è impossibile che arrivano in ordine inverso!dobbiamo mettere un ritardo casuale?
anche io ho piu' o meno le stesse domande...
ma tu hai capito se entrambi gli animaletti vanno fatti con due thread?? in quel caso si spiegherebbe anche lo scambio di msg asincrono! |
devil |
Sì sul testo c'è scritto "implementato mediante due distinti thread" e quindi è una scelta obbligata... :)
altre cose non chiare:
_Come fanno i personaggi a sapere la lunghezza della stringa che riceveranno e quante ne riceveranno?
io li ho implementati similmente ai clown con tu.variabilestringa.length() e tu.variabileanno solo che questa modalità non ha a che fare connessione tcp...
Sai se va bene così o questi 2 parametri bisogna passarli tramite socket?
:? |
mafalda |
non credo di aver capito fino in fondo quello che volevi dire...
tento una risposta:
secondo me quei parametri non vanno passati tramite socket, perche' servono solo per la spedizione e non interessano all'animale che li riceve. (non sono stata per niente chiara...)
Non so...ma io l'esercizio lo vedo simile alla Soup... |
devil |
come non gli interessano?:shock:
Se al posto di "smack " lo zio dice "ciao come va" la lunghezza della stringa cambia e di conseguenza cambia anche l'array che la contiente.
Il ricevente deve aver modo di conoscere la lunghezza della stringa per allocare un corretto array.
ci sono 2 modi per saperlo:
_o lo vado a leggere direttamente nella variabile dell'altro animale (tipo esercizio clown)
_o spedisco il parametro lunghezza sringa tramite socket.
(credo che nella parte da sviluppare a casa bisogni anche pensare a queste cose, no?)
:pccrash:
...anche a me sembra simile alla Soup...:approved: |
mafalda |
si', forse hai ragione...:)
mi sono fatta confondere dal fatto che in laboratorio l'ho fatto usando altri escamotage...ma nella parte da fare a casa non l'avevo inteso in questo modo..grazie :lode:
io l'ho inteso simile alla Soup perche' anche li' c'e' la classe Soup che "conta" e ha i metodi che i due animali (fatti ognuno con due thread) possono usare.
Ancora pero' non capisco la storia dei messaggi completi... |
mafalda |
aggiungo una cosa...
al posto che mandare la lunghezza della string all'altro non si potrebbe dirgli di leggere finche' ci sono caratteri disponibili (con available) nella Stream?
resta ancora da chiarire la questione dei msg COMPLETI... |
devil |
Originally posted by mafalda
aggiungo una cosa...
al posto che mandare la lunghezza della string all'altro non si potrebbe dirgli di leggere finche' ci sono caratteri disponibili (con available) nella Stream?...
La lunghezza della stringa serve per dirgli la lunghezza dell'array da allocare in modo che se sulla socket ci sono "SMACK SMACK SMACK SM" lui sa già che la stringa sarà lunga 6 caratteri e allocherà 3 array di 6 byte ciascuno.
_se gli dici di leggere fino a che non ci sono caratteri sulla socket devi fare in modo che prima ci siano tutte le scritture sulla socket e solo una volta finite inizino tutte le letture.
Se fai in tempo reale (scrivo e leggo allo stesso tempo) si rischia di uscire dal ciclo di while prima di aver letto tutto il messaggio.
p.s. cmq secondo me si sta rilevando un po' troppo complicato questo programma...:sad: |
mafalda |
Originally posted by devil
p.s. cmq secondo me si sta rilevando un po' troppo complicato questo programma...:sad:
Anche secondo me...ci vorrebbe una illuminazione dal prof...:-D |
ripe |
Ma perchè pensate ad usare gli array? Ha dato giusto giusto le funzioni per manipolare le stringhe! Con charAt() trovate il carattere alla posizione che desiderate e per concatenare due stringhe fate come fareste normalmente in un messaggio di output. Voi ad ogni passaggio fate un controllo per vedere se la stringa scritta fino a quel momento è "smack" e se lo è resettate la stringa di ricezione, altrimenti continuate ad attendere altre lettere nel ciclo.
:) |
mafalda |
anche io la penso come te, anche perche' all'esame ho usato quelli e mi parevano piu' che utili!
L'unica cosa che mi mancava era il controllo da fare...
anche a te viene un programma articolato come la soup? :-) |
|
|
|