Hvordan man laver en kanaler i Visual Basic Express

have viden om, hvordan man skaber et chatrum ved hjælp af Microsoft Visual Basic Express kan spare dig tid, når du skal oprette et chatrum ansøgning.Visual Basic Express er tilgængelig gratis til alle interesserede i at skabe applikationer ved hjælp af VB.NET.Et chatrum involverer to ansøgninger, serveren og klienten.Serveren håndterer alle klientforbindelser, og kunden ansøgningen forbinder brugere til serveren plads til at sende meddelelser.

Instruktioner

  1. Start Microsoft Visual Basic Express, og klik derefter på "Nyt projekt".På venstre rude på skærmen, skal du vælge "Console Application."Klik på "OK".

  2. Tryk på "Ctrl" + "A", og tryk derefter på "Slet".Kopier og indsæt følgende kode ind på din "Module1.vb" for at oprette serverprogrammet:

    Import System.Net.Sockets

    Import System.Text

    Modul Module1

    Dim clientsList som ny Hashtabelsamling

    Sub Main ()

    Dim ServerSocket som ny TcpListener (8888)

    Dim clientSocket Som tcpclient

    Dim infiniteCounter As Integer

    Dim counter As Integer

    serverSocket.Start ()

    msg ("Chat Server Startet ....")

    tæller= 0

    infiniteCounter = 0

    For infiniteCounter = 1 til 2

    infiniteCounter = 1

    tæller + = 1

    clientSocket = serverSocket.AcceptTcpClient ()

    Dim bytesFrom (10024) Som Byte

    Dim dataFromClient As String

    Dim networkStream Som NetworkStream = _

    clientSocket.GetStream ()

    networkStream.Read (bytesFrom, 0, Cint (clientSocket.ReceiveBufferSize))

    dataFromClient = System.Text.Encoding.ASCII.GetString (bytesFrom)

    dataFromClient = _

    dataFromClient.Substring (0, dataFromClient.IndexOf ("$"))

    clientsList (dataFromClient) = clientSocket

    broadcast (dataFromClient + "Nye", dataFromClient, False)

    msg (dataFromClient + "Indmeldtchatrum ")

    Dim klient som ny handleClinet

    client.startClient (clientSocket, dataFromClient, clientsList)

    Næste

    clientSocket.Close ()

    serverSocket.Stop ()

    msg (" exit ")

    Console.ReadLine ()

    End Sub

    Sub msg (ByVal MESG As String)

    mesg.Trim ()

    Console.WriteLine ("& gt; & gt;"+ MESG)

    End Sub

    Private Sub broadcast (ByVal msg As String, _

    ByVal uname As String, ByVal flag Som Boolean)

    Dim element som DictionaryEntry

    For hver post i clientsList

    Dim broadcastSocket Somtcpclient

    broadcastSocket = CIndtast (Item.Value, tcpclient)

    Dim broadcastStream Som NetworkStream = _

    broadcastSocket.GetStream ()

    Dim broadcastBytes Som [Byte] ()

    Hvis flaget = True Derefter

    broadcastBytes = Kodning.ASCII.GetBytes (uname + "siger:" + msg)

    Else

    broadcastBytes = Encoding.ASCII.GetBytes (msg)

    End If

    broadcastStream.Write (broadcastBytes, 0, broadcastBytes.Length)

    broadcastStream.Flush ()

    Næste

    End Sub

    Public Class handleClinet

    Dim clientSocket Som tcpclient

    Dim clNo As String

    Dim clientsList Som Hashtabelsamling

    Public Sub startClient (ByVal inClientSocket Som tcpclient, _

    ByVal clineNoAs String, ByVal Clist som hashtabelsamling)

    Me.clientSocket = inClientSocket

    Me.clNo = clineNo

    Me.clientsList = Clist

    Dim ctThread Som Threading.Thread = Ny Threading.Thread (AddressOf doChat)

    ctThread.Start ()

    End Sub

    Private Sub doChat ()

    Dim infiniteCounter As Integer

    Dim requestCount As Integer

    Dim bytesFrom (10024) Som Byte

    Dim dataFromClient As String

    Dim sendBytes Som [Byte] ()

    Dim serverResponse As String

    Dim rCount As String

    requestCount = 0

    For infiniteCounter = 1 til 2

    infiniteCounter = 1

    Prøv

    requestCount = requestCount + 1

    Dim networkStream Som NetworkStream = _

    clientSocket.GetStream ()

    networkStream.Read (bytesFrom, 0, Cint (clientSocket.ReceiveBufferSize))

    dataFromClient = System.Text.Encoding.ASCII.GetString (bytesFrom)

    dataFromClient = _

    dataFromClient.Substring (0, dataFromClient.IndexOf ("$"))

    msg ("Fra klient -" + clNo + ":" + dataFromClient)

    rCount = Convert.ToString (requestCount)

    broadcast (dataFromClient, clNo, True)

    Catch ex Som Undtagelse

    MsgBox (ex.ToString)

    End Prøv

    Næste

    End Sub

    End Class

    End Module

  3. Start Microsoft Visual Basic Express, og klik derefter på "Nyt projekt".På venstre rude på skærmen, skal du vælge "Windows Forms Application." Klik på "OK". Klik på "Toolbox" rude, og dobbeltklik derefter på "TextBox" for at tilføje en ny tekstboks.Tilføj yderligere to tekstbokse.Tilføj to knapper fra "Toolbox" i menuen.

  4. Dobbeltklik på formularen, og tryk derefter på "Ctrl" + "A."Tryk på "Slet".Kopier og indsæt følgende kode ind på din "Form1.vb" modul til at oprette klient-programmet:

    Import System.Net.Sockets

    Import System.Text

    Public Class Form1

    Dim clientSocket Som Nye System.Net.Sockets.tcpclient ()

    Dim serverStream Som NetworkStream

    Dim readData As String

    Dim infiniteCounter As Integer

    Private Sub Button1_Click (ByVal afsender Som System.Object, _

    ByVal e Som System.EventArgs) Håndtag Button1.Click

    DimoutStream Som Byte () = _

    System.Text.Encoding.ASCII.GetBytes (TextBox2.Text + "$")

    serverStream.Write (outStream, 0, outStream.Length)

    serverStream.Flush ()

    End Sub

    Private Sub msg ()

    Hvis Me.InvokeRequired Så

    Me.Invoke (New MethodInvoker (AddressOf msg))

    Else

    TextBox1.Text = TextBox1.Text + Environment.NewLine + "& gt; & gt;"+ ReadData

    End If

    End Sub

    Private Sub Button2_Click (ByVal afsender Som System.Object, _

    ByVal e Som System.EventArgs) Håndtag Button2.Click

    readData =" conected til Chat Server ..."

    msg ()

    clientSocket.Connect (" 127.0.0.1 ", 8888)

    'Label1.Text =" Klient Socket Program - Server Forbundet ... "

    serverStream = clientSocket.GetStream ()

    DimoutStream Som Byte () = _

    System.Text.Encoding.ASCII.GetBytes (TextBox3.Text + "$")

    serverStream.Write (outStream, 0, outStream.Length)

    serverStream.Flush ()

    Dim ctThread Som Threading.Thread = Ny Threading.Thread (AddressOf GetMessage)

    ctThread.Start ()

    End Sub

    Private Sub GetMessage ()

    For infiniteCounter = 1 til 2

    infiniteCounter = 1

    serverStream =clientSocket.GetStream ()

    Dim buffSize As Integer

    Dim Instream (10024) Som Byte

    buffSize = clientSocket.ReceiveBufferSize

    serverStream.Read (InStream, 0, buffSize)

    Dim returndata As String = _

    System.Text.Encoding.ASCII.GetString (InStream)

    readData = "" + returndata

    msg ()

    Næste

    End Sub

    End Class

  5. Kør serverprogrammet først ved at trykke "F5",og derefter køre klient program.Skriv dit navn i "Textbox3" og klik på "button2" for at oprette forbindelse til serveren.Skriv en besked i "TextBox2", og klik derefter på "Button1" for at sende en besked.

160
0
2
Visual Basics Programming