Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Visual Basics Programmering >> Content

    Hur man gör ett chattrum i Visual Basic Express

    Att ha kunskap om hur man skapar ett chattrum med Microsoft Visual Basic Express kan spara tid när du behöver skapa ett chattrum ansökan . Visual Basic Express finns tillgänglig gratis för alla som är intresserade av att skapa applikationer med VB.NET . Ett chattrum involverar två ansökningar , den servern och klienten . Servern hanterar alla klientanslutningar , och klientprogrammet ansluter användare till serverrummet att skicka meddelanden . Instruktioner
    1

    Starta Microsoft Visual Basic Express och klicka sedan på " Nytt projekt . " På den vänstra delen av skärmen , välj " Console Application . " Klicka på " OK . "
    2

    Tryck " Ctrl " + " A ", och tryck sedan på " Ta bort". Kopiera och klistra in följande kod på din " Module1.vb " för att skapa server programmet :

    Import System.Net.Sockets

    Import System.Text

    Modul Module1

    Dim clientsList Som ny Hashtable

    Sub Main ( ) katalog

    Dim ServerSocket Som New TcpListener ( 8888 ) katalog

    Dim clientSocket Som TcpClient

    Dim infiniteCounter As Integer

    avbländningsräknare As Integer

    serverSocket.Start ( ) katalog

    msg ( " Chat Server igång .... " ) katalog

    räknare = 0

    infiniteCounter = 0

    För infiniteCounter = 1 Till 2 Review

    infiniteCounter = 1

    räknare + = 1

    clientSocket = serverSocket.AcceptTcpClient ( ) katalog

    Dim bytesFrom ( 10024 ) som byte

    Dim dataFromClient As String

    Dim networkStream Som networkStream = _

    clientSocket.GetStream ( ) katalog

    networkStream.Read ( bytesFrom , 0 , CInt ( clientSocket.ReceiveBufferSize ) ) katalog

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

    dataFromClient = _

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

    clientsList ( dataFromClient ) = clientSocket

    broadcast ( dataFromClient + " förenade " , dataFromClient , False ) katalog

    msg ( dataFromClient + " Gick chattrum " ) katalog

    Dim klient som ny handleClinet

    client.startClient ( clientSocket , dataFromClient , Sub

    Sub msg ( ByVal Mesg As String ) katalog

    mesg.Trim ( ) katalog

    Console.WriteLine ( " >> " + Mesg ) katalog

    End Sub

    Private Sub sändning ( ByVal msg As String , _

    ByVal uname As String , ByVal flagga som Boolean ) katalog

    Dim Artikelnummer Som DictionaryEntry

    För varje post i clientsList

    Dim broadcastSocket Som TcpClient

    broadcastSocket = ctyp ( Item.Value , TcpClient ) katalog

    Dim broadcastStream Som NetworkStream = _

    broadcastSocket.GetStream ( ) katalog

    Dim broadcastBytes As [ byte ] ( ) katalog p Om flaggan = sant då

    broadcastBytes = Encoding.ASCII.GetBytes ( uname + " säger : " + msg ) katalog

    Else

    broadcastBytes = Encoding.ASCII.GetBytes ( msg ) katalog

    End Om

    broadcastStream.Write ( broadcastBytes , 0 , broadcastBytes . längd ) katalog

    broadcastStream.Flush ( ) katalog

    Nästa

    End Sub

    Public Class handleClinet

    Dim clientSocket Som TcpClient

    Dim clNo As String

    Dim clientsList Som Hashtable

    Public Sub startClient ( ByVal inClientSocket Som TcpClient , _

    ByVal clineNo As String , ByVal clist Som Hashtable )

    Me.clientSocket = inClientSocket

    Me.clNo = clineNo

    Me.clientsList = clist

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

    ctThread.Start ( ) katalog

    End Sub

    Private Sub doChat ( ) katalog

    Dim infiniteCounter As Integer

    Dim requestCount As Integer

    Dim bytesFrom ( 10024 ) som byte

    Dim dataFromClient As String

    Dim sendBytes Som [ byte ] ( ) katalog

    Dim serverResponse As String

    Dim rCount As String

    requestCount = 0

    För infiniteCounter = 1 Till 2 Review

    infiniteCounter = 1

    Prova

    requestCount = requestCount + 1

    Dim networkStream Som networkStream = _

    clientSocket.GetStream ( ) katalog

    networkStream.Read ( bytesFrom , 0 , CInt ( clientSocket.ReceiveBufferSize ) ) katalog

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

    dataFromClient = _

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

    msg ( " From klient - " + clNo + " : " + dataFromClient ) katalog

    rCount = Convert.ToString ( requestCount ) katalog

    broadcast ( dataFromClient , clNo , sant)

    Fånga ex Som Exception

    MsgBox ( ex.ToString ) katalog

    End Försök

    Nästa

    End Sub

    End Class

    ändmodul
    3

    Starta Microsoft Visual Basic Express , och klicka sedan på " Nytt projekt . " på den vänstra delen av skärmen , välj " Windows Forms Application . " Klicka på" OK . " Klicka på " Verktyg " rutan och dubbelklicka sedan på " TextBox " för att lägga till en ny textruta . Lägg två textrutor . Lägg två knappar från menyn" Verktyg " .

    4

    Dubbelklicka på formen och sedan trycka " Ctrl " + " A. " Tryck på Kopiera och klistra in följande kod på din " Form1.vb " modul för att skapa klientprogrammet " Delete . " :

    Import System.Net.Sockets

    Import System.Text

    Public Class Form1

    Dim clientSocket Som New System.Net.Sockets.TcpClient ( )

    Dim serverStream Som NetworkStream

    Dim readData As String

    Dim infiniteCounter As Integer

    Private Sub Button1_Click ( ByVal avsändaren som System.Object , _

    ByVal e Som System.EventArgs ) Handtag Button1.Click

    Dim outStream Som byte ( ) = _

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

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

    serverStream.Flush ( ) katalog

    End Sub

    Private Sub msg ( ) katalog

    Om Me.InvokeRequired Sedan

    Me.Invoke ( New MethodInvoker ( AddressOf msg ) ) katalog

    Else

    TextBox1.Text = TextBox1.Text + Environment.NewLine + " >> " + readData

    End If

    End Sub

    Private Sub Button2_Click ( ByVal avsändaren som System.Object , _

    ByVal e som System.EventArgs ) Handtag Button2.Click

    readData = " conected Chat Server ... "

    msg ( ) katalog

    clientSocket.Connect ( " 127.0.0.1 " , 8888 ) katalog

    ' Label1.Text = " klient Socket Program - Server Ansluten ... "

    serverStream = clientSocket.GetStream ( ) katalog

    Dim outStream Som byte ( ) = _

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

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

    serverStream.Flush ( ) katalog

    Dim ctThread Som Threading.Thread = Ny Threading.Thread ( AddressOf getMessage ) katalog

    ctThread.Start ( ) katalog

    End Sub

    Private Sub getMessage ( ) katalog

    För infiniteCounter = 1 Till 2 Review

    infiniteCounter = 1

    serverStream = clientSocket.GetStream ( ) katalog

    Dim buffSize As Integer

    Dim Instream ( 10024 ) As byte

    buffSize = clientSocket.ReceiveBufferSize

    serverStream.Read ( minimi , 0 , buffSize ) katalog

    Dim returndata As String = _

    System.Text.Encoding.ASCII.GetString ( Instream ) katalog

    readData = " " + returndata

    msg ( ) katalog

    Nästa

    End Sub

    End Class
    5

    köra servern programmet först genom att trycka på " F5 " , och sedan kör klientprogrammet . Skriv ditt namn i " Textbox3 " och klicka på " Button2 " för att ansluta till servern . Skriv ett meddelande i " TextBox2 , " och klicka sedan på " Button1 " för att skicka ett meddelande .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur vill kolla om ett tal är ett heltal i Visual Basic…
    ·Hur man ansluter till Avaya Genom VBA
    ·Hur man binda en DataSet till ett DataGridView
    ·Visual Basic : Hur att välja en bild Array till en bil…
    ·Hur man använder textrutan i Visual Basic 6.0
    ·Hur till Redigera XML Med en GridView i ASP.NET och Vis…
    ·Hur man skapar en databas med hjälp av Visual Basic
    ·Hur man gör Visual Basic att stängs datorn
    ·Delsträng Funktioner i VBS
    ·Hur anmäler en User Terminal Service på VB.Net
    Utvalda artiklarna
    ·Hur du ändrar storlek på en kontroll mall
    ·Hur man skriver ett program som visar ett nummer Studen…
    ·Hur man skapar en rullgardinsmeny i ett DataGridView Ko…
    ·Definitionen av UML
    ·Jämför Python till VBA
    ·Hur Synkronisera block av kod i Java
    ·Hur man drar i PHP
    ·Hur aktiverar jag FDF Into PHP
    ·Hur man hämta resultat från SQLite i Android
    ·Hur man installerar VisualStudio.Net
    Copyright © Dator Kunskap http://www.dator.xyz