Gå til innhold

Anbefalte innlegg

Heisan folkens. Jeg tror jeg begynner å forstå hvordan system.net.socket fungerer, men eksemplet i MSDN er alikevel rimelig utydelig for meg. Noen som gidder ta en titt her og fortell emeg hvordan jeg kan bruke denne klassen.

 

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxnetwork/html/13624cd3-f5c5-4950-8cda-31273b1fa6d1.htm

 

Det den i praksis gjør er så vidt jeg kan se å lage en ny tråd som venter på en tilkobling. Når denne skjer, vil den motta fra en klient og så settes et "buffer". Dermed sendes et event til hovedtråden som forteller at bufferet er fyllt. Håper jeg har forstått dette riktig.

 

Det jeg i så fall lurer på er hvordan motta dette eventet. Håper noen kan hjelpe meg her.

 

mvh

Ole

Lenke til kommentar
Videoannonse
Annonse

Joda, du kan bruke nøkkelordet WithEvents, men selv synes jeg den metoden er en smule upraktisk. I .NET 2.0 kan man nemlig bruke AddHandler og RemoveHandler for å registere en hendelse (i realiteten en delegate, dog). Den brukes således:

' Knytter en hendelse til en prosedyre. Merk av funksjonen må ha nøyaktig SAMME paramentre som hendelsen krever.

AddHandler oObject.SomeEvent, AddressOf EventHandlerSub

 

' Følgende kode fjerner registreringen

RemoveHandler oObject.SomeEvent, AddressOf EventHandlerSub

Lenke til kommentar
Nei, de gjør egentlig akkurat det samme.

Bare at WithEvents er laget for at VB.NET skal ligne mer på VB6 (hvor det ble gjort på samme måte)

7712916[/snapback]

 

Ok. Men det er en ting jeg lurer på. Jeg har nå laget en event som håndterer innkommne meldinger fra nettet. Den er prototypet slik:

SUB HandleIncomingMessage(ByVal pClientID as GUID, ByVal pMessage as String)
.
.
End Sub

Denne metoden skal ta imot meldinger fra nettet og behandle disse. Jeg gjør derfor følgende:

 

dim Sock as Socket = me.ThisSocket.AcceptSpcket
dim NewClient as New HDSocketClientClass(New GUID, Sock)
me.ConnectionList.Add(NewClient)
AddHandler NewClient.DataReceived, AddressOf HandleIncomingMessage

Problemet er at jeg får beskjed om at prototypen er feil (regner med at M$ har funnet på et nytt ord for Prototype når de kaller det signatur)

 

Ser i hjelpen at jeg må ha samme "signatur", men jeg er sannelig ikek sikker på hvordan jeg gjør det.

 

Noen tips?

 

mvh

Ole

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...