Thread obsoleto user onlin sul progrmma

palermo542

Utente bannato
Autore del topic
4 Luglio 2015
15
0
Miglior risposta
0
ciao ragazzi,ho un problema
sto creandod un programma in vb client server, però non so come fare a vedere chi è l'user che si è disconnesso..assegno alle variabili un nome a random per esmepio...per trasmettere al client chi si è collegato invio un messaggio da server ad ogni client disponibile e dal client leggo che tipo di comando viene inviato e se è il comando ADD|Ciao allora vuol dire che si è collegato l user CIao .
come facciop per vedere quale nome utente si sconnette dal serverv ?
@TBH
 
Ultima modifica:
ciao ragazzi,ho un problema
sto creandod un programma in vb client server, però non so come fare a vedere chi è l'user che si è disconnesso..assegno alle variabili un nome a random per esmepio...per trasmettere al client chi si è collegato invio un messaggio da server ad ogni client disponibile e dal client leggo che tipo di comando viene inviato e se è il comando ADD|Ciao allora vuol dire che si è collegato l user CIao .
come facciop per vedere quale nome utente si sconnette dal serverv ?
@TBH

posta il codice innanzitutto , non sono un indovino.
sia client che server.
 
client
Perfavore, Entra oppure Registrati per vedere i Link!

sever
Perfavore, Entra oppure Registrati per vedere i Link!

modulo srver
Perfavore, Entra oppure Registrati per vedere i Link!

@TBH

Qualcuno mi aiuta? @ptm aiutami tu mi fido di te

comunque nella procedura ClientExited quando aggiorni lo status del server devi inviare di nuovo a tutti i client il numero di utenti connessi.
quindi inviare la lista dei nomi utenti e il numero di utenti connessi e il client una volta ricevuto quei dati si aggiornarà^^

tipo un comando del tipo (inviato dal server nella procedura ClientExited)

UP|listautenti|lunghezza lista.
 
comunque nella procedura ClientExited quando aggiorni lo status del server devi inviare di nuovo a tutti i client il numero di utenti connessi.
quindi inviare la lista dei nomi utenti e il numero di utenti connessi e il client una volta ricevuto quei dati si aggiornarà^^

tipo un comando del tipo (inviato dal server nella procedura ClientExited)

UP|listautenti|lunghezza lista.

si e come faccio per vede l nome utente che si è disconnesso? @ptm
 
Ultima modifica:
si e come faccio per vede l nome utente che si è disconnesso?

ogni client deve memorizzare i rispettivi client connessi (escluso se stesso)

Analisi di connessione
client ----si connette ---- server aggiunge alla liste (server invia lista al client)

Analisi di disconessione

Server rileva disconnessione ( Causa SocketException o IOException) ---- invia la lista dei server attuali ai client----- client ricevi ed esegue un confronto

Il confronto tra le due liste lo puoi fare ricercando ogni singolo elemento della lista ricevuta , quello che non trova è disconnesso. oppure creando una classe Comparatore. (ovviamente ereditando Comparer (Of T)


2° modo per la disconessione

Server rileva disconnessione ( Causa SocketException o IOException) ---- invia il nome/posizione/identificati del client che si è disconesso----- client ricevi ed esegue una semplice ricerca

Una volta trovato lo elimina dalla lista temporanea del client @palermo542
 
Ultima modifica:
ogni client deve memorizzare i rispettivi client connessi (escluso se stesso)

Analisi di connessione
client ----si connette ---- server aggiunge alla liste (server invia lista al client)

Analisi di disconessione

Server rileva disconnessione ( Causa SocketException o IOException) ---- invia la lista dei server attuali ai client----- client ricevi ed esegue un confronto

Il confronto tra le due liste lo puoi fare ricercando ogni singolo elemento della lista ricevuta , quello che non trova è disconnesso. oppure creando una classe Comparatore. (ovviamente ereditando Comparer (Of T)

:leggi: e come faccio per vedere il nome utent che si e disconnesso ? per la lista l''avevo intuito @ptm ti prego mi aiuti :S
 
:leggi: e come faccio per vedere il nome utent che si e disconnesso ? per la lista l''avevo intuito @ptm ti prego mi aiuti :S

il nome utente? quando si connette un client deve inviarci un nome :facepalm: o un identificativo qualsiasi
 
il nome utente? quando si connette un client deve inviarci un nome :facepalm: o un identificativo qualsiasi

l'avevo capito pure quello -.- ho detto come faccio a vedere chi si è disconnesso,nel mod mio levo solo dalla lista dei client un client
@ptm :caldo:
 
Ultima modifica:
l'avevo capito pure quello -.- ho detto come faccio a vedere chi si è disconnesso,nel mod mio levo solo dalla lista dei client un client
@ptm :caldo:

ma tu i messaggi li leggi ?

comunque nella procedura ClientExited quando aggiorni lo status del server devi inviare di nuovo a tutti i client il numero di utenti connessi.
quindi inviare la lista dei nomi utenti e il numero di utenti connessi e il client una volta ricevuto quei dati si aggiornarà^^
oppure invece di inviare tutta la lista fai così .

Server rileva disconnessione ( Causa SocketException o IOException) ---- invia il nome/posizione/identificati del client che si è disconesso----- client ricevi ed esegue una semplice ricerca

la disconnessione la rileva nella procedura ClientExited , tra l'altro ti ho spiegato già come fare . Quindi ora devi solo scrivere il codice è aggiungere quanto detto.
Il modo tuo è incompleto.
Se ti aspetti che ti scriva il codice bello pronto , te lo puoi scordare iperchè è controproducente per te ed inoltre vietato dal regolamento.
 
in quel modo ricevo infine il nome che si e disconnesso e si aggornerà ogni client ? @ptm @TBH

- - - Aggiornato - - -

ma tu i messaggi li leggi ?


oppure invece di inviare tutta la lista fai così .



la disconnessione la rileva nella procedura ClientExited , tra l'altro ti ho spiegato già come fare . Quindi ora devi solo scrivere il codice è aggiungere quanto detto.
Il modo tuo è incompleto.
Se ti aspetti che ti scriva il codice bello pronto , te lo puoi scordare iperchè è controproducente per te ed inoltre vietato dal regolamento.

vedi che qua sbagli -.- io non ti chiedo il codice bello e pronto e è stato,ti sto solo facendo delle domande e cmq nel catch come faccio a vederee il client che si è disconnesso non so se mi so spiegato bene

- - - Aggiornato - - -
@TBH ora ho cpt forse,mi sono scervellato con i tuoi consigli
qui il client:
I
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
quì il serve:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
stesso effetto,cmq cosa intendi x comparer t?
 
in quel modo ricevo infine il nome che si e disconnesso e si aggornerà ogni client ? @ptm @TBH

- - - Aggiornato - - -



vedi che qua sbagli -.- io non ti chiedo il codice bello e pronto e è stato,ti sto solo facendo delle domande e cmq nel catch come faccio a vederee il client che si è disconnesso non so se mi so spiegato bene

- - - Aggiornato - - -
@TBH ora ho cpt forse,mi sono scervellato con i tuoi consigli
qui il client:
I
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
quì il serve:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
stesso effetto,cmq cosa intendi x comparer t?

non hai fatto quasi nulla di quanto detto.

Analisi di connessione
client ----si connette ---- server aggiunge alla liste (server invia lista al client)
questo è ok . Il check però va fatto sul client , Il server sa già chi si è disconnesso.
Nella funzione xupdate usa uno switch.(ambedue le parti) .
Nel codice postato manca la parte vitale che è la funzione ClientExited. A ogni connessione di un nuovo client devi inviarli di nuovo a tutti .

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
ho seguito quello che mi hai detto...
ecco qui il client:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
qua c'e invece il sevrer

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

- - - Aggiornato - - -
@TBH vorrei fa una cosa del genere
Sub ClientExited(ByVal Client As ChatClient, ByVal username As String)
ClientList.Remove(Client)
UsersOnline -= 1
xUpdate("USERLEAVE|" & UsersOnline, True)
Send("REMOVEFROMLIST|" & username)
Send("cmdCheck")
End Sub

è possible?