• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto [C#] Primi passi con i Socket

@TBH

Ho creato il delegate che riceve e restituisce una stringa:
Perfavore, Entra oppure Registrati per vedere i Link!

Ne istanzio uno nel Thread loop:
Perfavore, Entra oppure Registrati per vedere i Link!


Ora?

Client Form
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Seguendo il mio codice, cosa devo modificare/aggiungere?

- - - Aggiornato - - -

@TBH

Ho creato il delegate che riceve e restituisce una stringa:
Perfavore, Entra oppure Registrati per vedere i Link!

Ne istanzio uno nel Thread loop:
Perfavore, Entra oppure Registrati per vedere i Link!


Ora?

Client Form
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Seguendo il mio codice, cosa devo modificare/aggiungere?

---UPDATED---
@TBH

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Uff non capisco...

Il metodo modifica() cosa fa? E quella stringa "modifica" inviata al metodo Inv a che serve?
 
Ultima modifica:
Modifica non fa altro che chiamare un metodo , non capisco dove trovi difficolta ti ho commentato il codice .. Ora dovresti applicarlo per imitazione al label ,cosa molto semplice.

Dovrai usare ThreadStart (per quanto riguarda la creazione) , dato che il button non è statico . Vediamo se con quest'info ci riesci
^^
Inviato dal mio GT-S6500 con Tapatalk 2
 
Modifica non fa altro che chiamare un metodo , non capisco dove trovi difficolta ti ho commentato il codice .. Ora dovresti applicarlo per imitazione al label ,cosa molto semplice.

Dovrai usare ThreadStart (per quanto riguarda la creazione) , dato che il button non è statico . Vediamo se con quest'info ci riesci
^^
Inviato dal mio GT-S6500 con Tapatalk 2

Uhm, quindi quella variabile stringa t sarà il valore che il label assumerà (risposta del server)?

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

A me non succede nulla :S

P.S: sai per caso come passare una variabile al blocco catch(){} ?
 
Ultima modifica:
Uhm, quindi quella variabile stringa t sarà il valore che il label assumerà (risposta del server)?

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

A me non succede nulla :S

P.S: sai per caso come passare una variabile al blocco catch(){} ?

ma perché crei un altro thread , devi modifcare solo send_receive_loop().
il catch serve a catturare le eccezione ... se ne vuoi lanciare una in qualsiasi 'punto del codice devi usare throw, ma questo non centra nulla con il problema .
 
ma perché crei un altro thread , devi modifcare solo send_receive_loop().

Devo modificare il metodo? E in che modo scusa? Devo aggiungere un istruzione che richiama il metodo modifica?

il catch serve a catturare le eccezione ... se ne vuoi lanciare una in qualsiasi 'punto del codice devi usare throw, ma questo non centra nulla con il problema.

Si in realtà fa parte di un altro mio problema in un altro progetto client/server asincroni. Se ho un

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Voglio passare la variabile ciao al catch...
 
@gedamial miche finalmente ci sei arrivato e come argomento passi la stringa ricevuta ^^ e così modifichi il label

un problema per volta , ora non uscire anche con altri problemi :emoji_relieved:,

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

oppure dichiarala globalmente
 
@gedamial miche finalmente ci sei arrivato e come argomento passi la stringa ricevuta ^^ e così modifichi il label

un problema per volta , ora non uscire anche con altri problemi :emoji_relieved:,

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

oppure dichiarala globalmente

Ok allora per il problema con il catch() vediamo dopo, ora però vedi cosa non va:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
ma il metodo GetServerSocket.get(); che socket restituisce?

E' una classe che ho creato e funziona così:

-Il server (tramite metodo set) salva se stesso (socket) nella classe
-Il client riceve quel server tramite il metodo get immagazzinato nella medesima classe

Eccola
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
E' una classe che ho creato e funziona così:

-Il server (tramite metodo set) salva se stesso (socket) nella classe
-Il client riceve quel server tramite il metodo get immagazzinato nella medesima classe

Eccola
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

perché il client appartiene alla stessa applicazione ?
e poi che se ne fa il client di un socket già utilizzato per il listening ?
 
nel senso se sono due progetti diversi? (come stava prima che lo progettasti per un win form)
si per connetterti :|

Ah no aspè. Praticamente il progetto per il client è suddiviso in due form, uno con il quale mi connetto al server ed un altro con il quale invio le richieste. Praticamente, uso il procedimento che dici tu nella form dove devo connettermi e PASSO lo stesso socket al quale mi son connesso alla form successiva. Capito il mio intento? Passare il socket al quale mi son GIA' connesso alla form successiva.

Form per la connessione
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Form per mandare richieste/ricevere risposte
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
Si ingolfano le richieste ecco perché non le vedi , prova a spostare il thread di listening al load e fare richiesta quando clicchi ^^
 
Si ingolfano le richieste ecco perché non le vedi , prova a spostare il thread di listening al load e fare richiesta quando clicchi ^^

Bene ho aggiustato un po' di cose e finalmente va! Ora però c'è da gestire una cosa nel Client: quando tento di connettermi ad un server inesistente si blocca. Vorrei sostituire questa cosa con un messaggio di errore... ho provato con la SocketException ma nulla...
 
Bene ho aggiustato un po' di cose e finalmente va! Ora però c'è da gestire una cosa nel Client: quando tento di connettermi ad un server inesistente si blocca. Vorrei sostituire questa cosa con un messaggio di errore... ho provato con la SocketException ma nulla...

già viene catturata l'eccezione quando tenti di connetterti , devi solo cambiare il contenuto del messagbox
 
Aspetta, io quando tento di connettermi ad un server inesistente non mi compare NULLA, pur avendo settato le seguenti eccezioni:
Perfavore, Entra oppure Registrati per vedere i Link!

quando viene lanciata un' eccezione quest'ultima viene salvata il riferimento.

try{

//
}
catch(SocketException e){
//messaggio

}
 
Ultima modifica: