HDSoftware Skrevet 11. januar 2007 Skrevet 11. januar 2007 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
HDSoftware Skrevet 11. januar 2007 Forfatter Skrevet 11. januar 2007 Tror jeg fant det ut selv :-) DIM WithEvents MyObject as new MyClass Ser ut til at dette registrerer eventene slik at de kan plukkes opp med metoder definert som HANDLES til eventet Ole
aadnk Skrevet 12. januar 2007 Skrevet 12. januar 2007 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
Moskus Skrevet 13. januar 2007 Skrevet 13. januar 2007 (endret) WithEvents er kjappere når det er flere events. (Er det ikke? ) Endret 13. januar 2007 av moskus
GeirGrusom Skrevet 13. januar 2007 Skrevet 13. januar 2007 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)
HDSoftware Skrevet 15. januar 2007 Forfatter Skrevet 15. januar 2007 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå