Kuinka tehdä chattihuone Visual Basic Express

ottavat tietoa miten luoda chat Microsoft Visual Basic Express voi säästää aikaa, kun haluat luoda chat sovellus.Visual Basic Express on saatavilla ilmaiseksi kaikille kiinnostuneille Luoda sovelluksia VB.NET.Chat-huoneessa kuuluu kaksi hakemusta, palvelin ja asiakas.Palvelin käsittelee kaikki asiakkaan yhteydet, ja asiakkaan sovellus yhdistää käyttäjien palvelimelle tilaa lähettää viestejä.

Ohjeet

  1. Käynnistä Microsoft Visual Basic Express, ja sitten klikkaa "Uusi projekti."Vasemmalla ruudussa näytön, valitse "Console Application."Napsauta "OK".

  2. Paina "Ctrl" + "," ja paina "Poista."Kopioi ja liitä seuraava koodi "Module1.vb" luoda palvelinohjelma:

    tuonti System.Net.Sockets

    Tuonti System.Text

    Moduuli Moduuli1

    Dim clientsList uutena Hashtable

    Sub Main ()

    Dim serverSocket uutena TcpListener (8888)

    Dim clientSocket Kuten TcpClient

    Dim infiniteCounter As Integer

    Dim laskuri As Integer

    serverSocket.Start ()

    MSG ("Chat Server-Started ....")

    laskuri= 0

    infiniteCounter = 0

    Sillä infiniteCounter = 1 2

    infiniteCounter = 1

    laskuri + = 1

    clientSocket = serverSocket.AcceptTcpClient ()

    Dim bytesFrom (10024) Kuten Byte

    Dim dataFromClient As String

    Dim networkStream Kuten 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

    lähetys (dataFromClient + "Liittyi", dataFromClient, False)

    MSG (dataFromClient + "Liittyichat ")

    Dim asiakas uutena handleClinet

    client.startClient (clientSocket, dataFromClient, clientsList)

    Seuraava

    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 lähetys (ByVal MSG As String, _

    ByVal uname As String, ByVal Merkitse Boolean)

    Dim alkio DictionaryEntry

    jokaisen kohdalle clientsList

    Dim broadcastSocket KutenTcpClient

    broadcastSocket = CNäppäile (Item.Value, TcpClient)

    Dim broadcastStream Kuten NetworkStream = _

    broadcastSocket.GetStream ()

    Dim broadcastBytes Kuten [Byte] ()

    Jos lippu = True sitten

    broadcastBytes = koodaus.ASCII.GetBytes (uname + "sanoo:" + MSG)

    Else

    broadcastBytes = Encoding.ASCII.GetBytes (MSG)

    End Jos

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

    broadcastStream.Flush ()

    Seuraava

    End Sub

    public class handleClinet

    Dim clientSocket Kuten TcpClient

    Dim clNo As String

    Dim clientsList Kuten Hashtable

    Public Sub startClient (ByVal inClientSocket Kuten TcpClient, _

    ByVal clineNokuten String, ByVal cList As Hashtable)

    Me.clientSocket = inClientSocket

    Me.clNo = clineNo

    Me.clientsList = cList

    Dim ctThread Kuten Threading.Thread = Uusi Threading.Thread (AddressOf doChat)

    ctThread.Start ()

    End Sub

    Private Sub doChat ()

    Dim infiniteCounter As Integer

    Dim requestCount As Integer

    Dim bytesFrom (10024) Kuten Byte

    Dim dataFromClient As String

    Dim sendBytes Kuten [Byte] ()

    Dim serverResponse As String

    Dim rCount As String

    requestCount = 0

    Sillä infiniteCounter = 1 2

    infiniteCounter = 1

    Kokeile

    requestCount = requestCount + 1

    Dim networkStream Kuten NetworkStream = _

    clientSocket.GetStream ()

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

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

    dataFromClient = _

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

    MSG ("From asiakas -" + clNo + ":" + dataFromClient)

    rCount = Convert.ToString (requestCount)

    lähetys (dataFromClient, clNo, True)

    Catch ex Koska poikkeus

    MsgBox (ex.ToString)

    Loppu Kokeile

    Seuraava

    End Sub

    End Class

    päätymoduuli

  3. Käynnistä Microsoft Visual Basic Express, ja sitten klikkaa "Uusi projekti."Vasemmalla ruudussa näytön, valitse "Windows Forms Application." Klikkaa "OK." Klikkaa "Toolbox" ruudussa ja kaksoisnapsauta "TextBox" lisää uusi tekstikenttään.Lisää kaksi ruutuihin.Lisää kaksi painikkeita "Toolbox" -valikosta.

  4. Kaksoisnapsauta lomake ja paina "Ctrl" + "A."Paina "Poista."Kopioi ja liitä seuraava koodi "Form1.vb" moduuli luoda asiakasohjelma:

    tuonti System.Net.Sockets

    Tuonti System.Text

    public class Form1

    Dim clientSocket uutena System.Net.Sockets.TcpClient ()

    Dim serverStream Kuten NetworkStream

    Dim readData As String

    Dim infiniteCounter As Integer

    Private Sub Button1_Click (ByVal lähettäjälle System.Object, _

    ByVal E System.EventArgs) Käsittelee Button1.Click

    DimoutStream Kuten tavu () = _

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

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

    serverStream.Flush ()

    End Sub

    Private Sub MSG ()

    Jos Me.InvokeRequired Sitten

    Me.Invoke (New MethodInvoker (AddressOf msg))

    Else

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

    End Jos

    End Sub

    Private Sub Button2_Click (ByVal lähettäjälle System.Object, _

    ByVal E System.EventArgs) Käsittelee Button2.Click

    readData =" conected Chat Server ..."

    MSG ()

    clientSocket.Connect (" 127.0.0.1 ", 8888)

    'Label1.Text =" Client Socket Program - Server Connected ... "

    serverStream = clientSocket.GetStream ()

    DimoutStream Kuten tavu () = _

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

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

    serverStream.Flush ()

    Dim ctThread Kuten Threading.Thread = Uusi Threading.Thread (AddressOf GetMessage)

    ctThread.Start ()

    End Sub

    Private Sub GetMessage ()

    Saat infiniteCounter = 1 2

    infiniteCounter = 1

    serverStream =clientSocket.GetStream ()

    Dim buffSize As Integer

    Dim InStream (10024) Kuten Byte

    buffSize = clientSocket.ReceiveBufferSize

    serverStream.Read (InStream, 0, buffSize)

    Dim returndata As String = _

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

    readData = "" + returndata

    MSG ()

    Seuraava

    End Sub

    End Class

  5. Suorita palvelinohjelma ensimmäinen painamalla "F5",ja suorita asiakasohjelmaa.Kirjoita nimesi "Textbox3" ja klikkaa "Button2" yhteyden palvelimeen.Kirjoita viesti "TextBox2" ja sitten valitse "Button1" lähettää viestin.

264
0
2
Visual Basic Ohjelmointi