• 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 [VB6]Problema winsock

Mikleman

Utente Colossal
Autore del topic
16 Marzo 2008
3.171
76
Miglior risposta
0
Avendo un winsock capace di ascoltare tutti i pacchetti in arrivo come posso fare perchè questo prenda in considerazione il pacchetto conoscendone solo i primi caratteri?

Mi spiego meglio.
Io so che c'è una trasmissioni di pacchetti simili a questo:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

La cui parte numerica potrebbe variare da 2088589 a 145 (per esempio) come faccio a eseguire un msgbox quando il winsock intercetta una riga come Bfhttp://www.habbo.com/client/private/ ?

Esempio letterale:
se winsock1.getdata intercetta un packet contenente questa stringa Bfhttp://www.habbo.com/client/private/ (+ altri caratteri che possono essere di qualsiasi tipo) allora esegui un msgbox


EDIT
problema risolto
 
Ultima modifica da un moderatore:
sinceramente non penso si possa fare .... a meno che non usi il dataarrival ... e salvi tutto in una textbox quello che il winsock riceve ...e quando lo riceve se è uguale a :
Bfhttp://www.habbo.com/client/private/ o quello che vuoi ... parte un msgbox
 
sinceramente non penso si possa fare .... a meno che non usi il dataarrival ... e salvi tutto in una textbox quello che il winsock riceve ...e quando lo riceve se è uguale a :
Bfhttp://www.habbo.com/client/private/ o quello che vuoi ... parte un msgbox
Il problema è che sulla textbox che uso vengono salvati più e più pacchetti,quindi si hanno tantissime righe ed io dovrei ordinare a vb6 di prendere solo l'ultima delle tante Bfhttp://www.habbo.com/client/private/ (attenzione,non l'ultima riga,bensì l'ultima stringa ricevuta contenente Bfhttp://www.habbo.com/client/private/).


Possibile che non esista un modo per cui quando il winsock intercetta un pacchetto contenente
Bfhttp://www.habbo.com/client/private/ possa salvarlo tutto? Non mi serve solo quel pezzo di stringa però,ad esempio:

Winsock intercetta il pacchetto
Bfhttp://www.habbo.com/client/private/2088589/id
Lo analizza e vede che contiene la stringa Bfhttp://www.habbo.com/client/private/
allora lo copia tutto (compresi 2088589/id) in un'altra textbox.


Attenzione:
il pacchetto potrebbe variare da Bfhttp://www.habbo.com/client/private/2088589/id a Bfhttp://www.habbo.com/client/private/2/id (ne ho messo uno a caso),non è sempre lo stesso.
 
E molto semplice se ai fatto bene il codice del data arrival tu potrai ricevere i pacchetti dal server di habbo questi pacchetti presupponiamo ke vengono scritti in un textbox nel data arrival aggiungi qesto

dim stringa as string
stringa ="la stringa ke vuoi far vedere nel messaggio"
textbox2.text =stringa
if textbox2.text = stringa then
msgbox stringa
end if


Il codice lo scritto controlla se ci sono errori se non ti va aggiungimi su skype ke lo facciamo ma dovrebbe essere giusto x quanto ho capito io^^ mettilo nel data arrival
 
dim stringa as string
stringa ="la stringa ke vuoi far vedere nel messaggio"
textbox2.text =stringa
if textbox2.text = stringa then
msgbox stringa
end if

Il codice non può funzionare semplicemente perchè la stringa è variabile,ovvero può essere
Bfhttp://www.habbo.com/client/private/2088589/id
come
Bfhttp://www.habbo.com/client/private/556/id

Puoi notare che la parte numerica è cambiata,quindi a me servirebbe un metodo che mi permettesse di individuare un pacchetto e di copiarlo per intero.
Se winsock1 intercetta un pacchetto contenente "Bfhttp://www.habbo.com/client/private/" allora lo prenda tutto (Bfhttp://www.habbo.com/client/private/2088589/id insieme quindi alla parte numerica) e lo scriva nel text2

Chiaro?

P.S. aggiungo su skype
 
A mettere l'id in un text se puoi aspetrare xke sto collegato con l'iphone mia madre mi a tolto il pc xD
 
Ultima modifica:
In pratica hai una textbox multiline dove arrivano tutte le stringhe e vuoi intercettare solo quel pezzo e far apparire un MsgBox?
Allora fai così :

If InStr(Text1.Text, "Bfhttp://www.habbo.com/client/private/") Then
MsgBox "Informazione",vbInformation,"Enrico Powna ù_ù" 'Ciò che vuoi mettere che accada appena trova la Stringa
End If

;)

[OT]Mikleman hai Skype?[/OT]
 
Ultima modifica:
In pratica hai una textbox multiline dove arrivano tutte le stringhe e vuoi intercettare solo quel pezzo e far apparire un MsgBox?
Allora fai così :

If InStr(Text1.Text, "Bfhttp://www.habbo.com/client/private/") Then
MsgBox "Informazione",vbInformation,"Enrico Powna ù_ù" 'Ciò che vuoi mettere che accada appena trova la Stringa
End If

;)

[OT]Mikleman hai Skype?[/OT]

Purtroppo questo codice non avrebbe funzionato per quello per cui mi serviva,in ogni caso ho risolto da solo ieri notte.
:emoji_slight_smile: