Oppure

Loading
13/07/08 19:26
acromangelo@libero.it
Dopo una lunghissima settimana ad impegnarmi sodo per fare una chat multiutente mi ritrovo davanti un maledettissimo bug di cui non so la causa...vi prego aiutatemi voi!

mi sa ke è colpa del web browser che non fa il suo dovere però è molto strano, quando io invio un messaggio a me viene fuori nella chat ma all'altro no, quando lui invia un messaggio a me viene fuori e a lui no, però lo invia!...vi prego ragazzi! :(


vi posto tutto il programma con i sorgenti, se volete prendete qualche chicca ma vi prego chi ne sa di più mi aiuti!!! :(
aaa
13/07/08 21:36
antometal
spiegati meglio xò, usa magari nomi logici tipo chat1 e chat2

bel programma cmq sarebbe ancor meglio con la grafica più curata:k:
aaa
14/07/08 9:36
M@d_Hacker
IO anke ho creato una chat BI-UTENTE però e fa la stessa coasa..
Cioè quando io invio un messaggio al server, al server appare il messaggio nella TEXT DEI MESSAGGI RICEVUTI e a me no.. e quando lo invia il server al client al sever non appare mentre al client si..
aaa
14/07/08 10:48
acromangelo@libero.it
Si scusate...

lo so è la grafica quella che mi frega XD

allora supponendo che io sul mio computer ho il server acceso e il client che chiameremo CLIENT_BASE e su un altro computer c'è un client collegato al mio server che chiameremo CLIENT_UTENTE.

Dopo che il CLIENT_BASE si è collegato al server, quest'ultimo gli invia una stringa che lo autentica; ora come utenti collegati c'è solo il CLIENT_BASE.

Adesso si collega il CLIENT_UTENTE, il server gli invia la relativa risposta di autenticazione e lo accoda alla lista degli utenti; adesso sulla chat del CLIENT_BASE ci sarà scritto:
"Autenticato come CLIENT_BASE"
"Nuovo utente CLIENT_UTENTE"
invece nella chat del CLIENT_UTENTE ci sarà scritto:
"Autenticato come CLIENT_UTENTE"

Fino a quì tutto ok...adesso passiamo alla questione messaggi; quando il CLIENT_BASE invia un messaggio con scritto "ciao", il CLIENT_UTENTE riceve il messaggio ma non lo aggiunge alla chat; sulle 2 chat ci sarà scritto:

CLIENT_BASE:
"Autenticato come CLIENT_BASE"
"Nuovo utente CLIENT_UTENTE"
"(CLIENT_BASE) ciao"

CLIENT_UTENTE:
"Autenticato come CLIENT_UTENTE"

Il messaggio gli è arrivato ma non l'ha scritto nella chat..come faccio a capire se gli è arrivato? gli lampeggia la taskbar come in msn, ma quando apre la finestra non vede nessun messaggio aggiunto alla chat sotto "Autenticato c..."

Al contrario
Se il CLIENT_UTENTE manda un messaggio con scritto "come va?", il CLIENT_BASE riceve il messaggio e lo aggiunge alla chat, mentre, il CLIENT_UTENTE non vede il messaggio da lui inviato sempre perchè non viene aggiungo sotto "Autenticato com..."
Quindi le 2 chat saranno:

CLIENT_BASE:
"Autenticato come CLIENT_BASE"
"Nuovo utente CLIENT_UTENTE"
"(CLIENT_BASE) ciao"
"(CLIENT_UTENTE) come va?"

CLILENT_UTENTE:
"Autenticato come CLIENT_UTENTE"

Io per fargli aggiungere alla chat un messaggio ho implementato al client una funzione e cioè:

Public Function chat(testo As String)
Dim FF As Integer
FF = FreeFile
Open App.Path & "\temp.html" For Append As #FF
Print #FF, testo
Close #FF
wb.Navigate App.Path & "\temp.html#cod" & cod
End Function

questa funzione sul CLIENT_BASE e cioè sul client del mio pc funziona perfettamente quindi ad ogni messaggio che arriva, es.
wsk.getdata data
chat data
lo aggiunge alla chat

invece sugli altri computer e cioè sul CLIENT_UTENTE questa funzione va solo per la prima volta in cui c'è da aggiungere un messaggio alla chat e cioè quando deve aggiungere "Autenticato come CLIENT_UTENTE"

Spero di essermi spiegato meglio possibile...vi prego aiutatemi :d:d
aaa
14/07/08 11:57
gantonio
Tu sei sicuro che i messaggi arrivano?

Come mai sei sicuro?

Li hai visto in debug?
aaa
14/07/08 14:15
acromangelo@libero.it
Postato originariamente da acromangelo@libero.it:

Il messaggio gli è arrivato ma non l'ha scritto nella chat..come faccio a capire se gli è arrivato? gli lampeggia la taskbar come in msn, ma quando apre la finestra non vede nessun messaggio aggiunto alla chat sotto "Autenticato c..."


vedi...sono scuro che arrivi grazie a questo. Ti posto il codice di quando arriva il messaggio:

    
Case "msg"
        Dim dati_msg() As String, nome_msg As String, testo_msg As String
        dati_msg = Split(data, Chr(190))
        nome_msg = dati_msg(0)
        testo_msg = Right(data, Len(data) - Len(nome_msg) - 1)
        lampeggio.Enabled = True
        cod = cod + 1
        chat "<a name=cod" & cod & "></a>" & nome_msg & " " & testo_msg


come puoi vedere il timer del lampeggio parte per cui il messaggio arriva solo che non viene aggiunto alla chat con la funzione "chat". viene solo aggiunta la prima frase: "Autenticato come CLIENT_UTENTE"

è una disperazione...secondo me è il web browser oppure la funzione chat che non vanno bene

bho
aaa
14/07/08 15:26
gantonio
Nella funzione chat, dopo la riga

wb.Navigate ...

aggiungi una riga

wb.Refresh
aaa
14/07/08 18:05
acromangelo@libero.it
Grande così funziona! :k:

Però....non mi porta alla fine della pagina -.-

cod è la variabile che mi fa andare all'ultimo messaggio, facendo refresh la variabile cod va a farsi benedire

si potrebbe mettere uno script in java che mi fa aprire la pagina alla fine ma non so come farlo. l'unico modo penso sia questo :d

comunque grazie per avermi dato questa dritta! senza di te mi sarei strappato i capelli :asd:
Ultima modifica effettuata da acromangelo@libero.it 14/07/08 18:06
aaa