26. januar 2005 - 20:52Der er
22 kommentarer og 1 løsning
UDP eller TCP?
Jeg er nu gået igang med mit første VB.Net program. Som da jeg lavede mit første VB 6.0 program, vil jeg nu igen lave en chat server, og en klient.
Men hvad skal jeg bruge? TCP eller UDP forbindelse? Og hvordan gør jeg så at serveren kan modtage flere klienter? Hvordan laver jeg i det hele taget de "WinSockets" ?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Dim client As TcpClient = server.AcceptTcpClient Dim clienthandler As T = New T(client) Call (New Thread (New ThreadStart (AddressOf clienthandler.Run))).Start
Public Class T Private client As TcpClient Public Sub New(cli As TcpClient) client = cli End Sub Public Sub Run() Dim rdr As StreamReader = New StreamReader (client.GetStream) Dim wrt As StreamWriter = New StreamWriter (client.GetStream) Dim outmsg As String Dim inmsg As String inmsg = rdr.ReadLine While Not (inmsg Is Nothing) ' gør noget her inmsg = rdr.ReadLine End While rdr.Close wrt.Close End Sub
Public Class T ' hvert objekt af T klassen har en TcpClient med forbindelsen til dens klient Private client As TcpClient ' i constructor gemmer vi den reference til TcpClient vi får fra listener & accept tråden Public Sub New(cli As TcpClient) client = cli End Sub Public Sub Run() ' vi laver en reader og writer så vi kan læse & skrive fra 6 til klienten Dim rdr As StreamReader = New StreamReader (client.GetStream) Dim wrt As StreamWriter = New StreamWriter (client.GetStream) Dim outmsg As String Dim inmsg As String ' vi læser de tekster klienten sender inmsg = rdr.ReadLine While Not (inmsg Is Nothing) ' gør noget her med den tekst vi har modtaget inmsg = rdr.ReadLine End While ' vi lukker pænt når der ikke er mere (så returnerer ReadLine Nothing) rdr.Close wrt.Close End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.