From: io_x on 27 Jun 2010 04:03 [alt.lang.asm,comp.os.ms-windows.networking.tcp-ip,comp.os.ms-windows.programmer.win32] "io_x" <a(a)b.c.invalid> ha scritto nel messaggio news:4c26fbc5$0$31373$4fafbaef(a)reader1.news.tin.it... >> the exercise i think is this: >> >> i have one function that >> 1) has to see if one button is push >> if it is push it has to send to socket one string >> gets to one window >> 2) has to see if another button is push >> if it is push it has to exit >> 3) has to see if socket receive one string >> and if receive has to print it in another window >> what about this? >> >> ; int FunzioneDelServer(i8** argm) >> ; >> ; Essa: >> ; 0) scrive nella finestra MD_ED_SERVER una "A" [server attivato] >> ; 1) crea un thread per stampa input dal socket alla finestra; >> ; tale subtrhead >> ; bloccaLaRisorsaSys(UsoSocket) >> ; estrae fd del soket che usa dopo >> ; liberalarisorsaSys(UsoSocket) .a: >> ; usa fd con select per vedere se vi e' un evento read >> ; se l'evento e' read >> ; bloccaLaRisorsaSys(UsoSocket) >> ; legge il socket >> ; liberalarisorsaSys(UsoSocket) >> ; invia tutto alla finestra >> ; altrimenti controlla che l'evento "eventoUscitaSottoThread" >> ; nel qual caso >> ; resetta eventoUscitaSottoThread >> ; esce ; se qualche errore si verifica setta l'evento "eventoUscitaFun" >> ; goto .a >> ; 2) aspetta indefinitivamente per i messaggi: >> ; eventoUscitaFun [il secondo dell'array di eventi 4] >> ; bloccaLaRisorsaSys(UsoSocket) >> ; chiude il socket >> ; liberalarisorsaSys(UsoSocket) >> ; cosi' la select del sottotread deve ritornare >> ; setta l'evento "eventoUscitaSottoThread" >> ; resetta l'evento "eventoUscitaFun" > ; goto 2 >> ; eventoInviaDati [il terzo dell'array di eventi 12] >> ; legge la finestra di invio dati >> ; bloccaLaRisorsaSys(UsoSocket) >> ; scrive la finestra invio dati nel socket >> ; liberalarisorsaSys(UsoSocket) >> ; resetta l'evento "eventoInviaDati" > ; goto 2 >> ; eventoUscitaSottoThread [ho capito che si puo' fare 16] >> ; nel qual caso esce dal loop >> ; LiberaMemoriaRisorsaSys(UsoSocket) >> ; libera le risorse del subthread >> ; scrive nella finestra MD_ED_SERVER una "" [stringa vuota] >> ; esce dalla funzione ; se qualche errore e l'ultimo evento non e' eventoUscitaFun ; setta l'evento "eventoUscitaFun" ; end >> if there is one subthread that close one socket >> then if one other thread has one select() that wait to +oo for >> read only for that same soket >> than if the socket is close, the select function return? >> >> WaitForMultipleObjects() function >> is good to for thread exit [pass the handle]? it is right bloccaLaRisorsaSys() liberalarisorsaSys() LiberaMemoriaRisorsaSys() use OS DeleteCriticalSection EnterCriticalSection LeaveCriticalSection functions ? they seems ok
|
Pages: 1 Prev: Making sense of x86 descriptors Next: determing how many loops |