| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Visual Basics Programmering >> Content
    Sådan Code Chat Software uden at bruge en database
    Vide, hvordan man kode et chatrum uden at bruge en database kan hjælpe dig med at oprette en server /klient applikation uden at skulle bruge tid på at designe en database. En chat -program er skabt ved hjælp af to ansøgninger , at klienten og serveren . Serveren ansøgning vil håndtere alle klient-forbindelser at etablere kommunikation . Klienten programmet installeres i enhver computer ønsker at oprette forbindelse til serveren for at chatte med andre kunder. Du kan oprette denne ansøgning ved hjælp af Microsoft Visual Basic.NET , også kendt som VB.NET . Ting du skal
    Microsoft Visual Basic Express
    Vis Flere Instruktioner
    1

    Åbn Microsoft Visual Basic Express, klik på " Nyt projekt ... " på den venstre rude på skærmen , og vælg derefter "Console Application ". Klik på "OK".
    2

    Tryk på " Ctrl" og "A ", tryk derefter på "Slet " for at fjerne alle eksisterende kode. Kopier og indsæt koden nedenfor ind i din " Module1.vb " for at oprette server program:

    Import System.Net.Sockets

    Import System.Text

    Modul Module1 < br >

    Dim hshTbl Som New Hashtable

    Sub Main ( )

    Dim svrSckt Da New TcpListener ( 8888)

    Dim tClient Som tcpclient

    Dim infntCntr As Integer

    Dim cntr As Integer

    svrSckt.Start ()

    msg ( " Server Startet til at chatte ...." )

    TÆLLER = 0

    infntCntr = 0

    infntCntr = 1 Til 2

    infntCntr = 1

    cntr + = 1

    tClient = svrSckt.AcceptTcpClient ()

    Dim btsFrom ( 10024 ) Som Byte

    Dim clientData As String

    Dim networkStream Som networkStream = _

    tClient.GetStream ()

    networkStream.Read ( btsFrom , 0, Cint ( tClient.ReceiveBufferSize ) )

    clientData = System.Text.Encoding.ASCII.GetString ( btsFrom )

    clientData = _

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

    hshTbl ( clientData ) = tClient

    broadcast ( clientData + " har sluttet " clientData , False )

    msg ( clientData + " har sluttet chatrum " )

    Dim klient Da New handleClinet

    client.startClient ( tClient , clientData , Sub

    Sub msg ( ByVal msg As String )

    msg.Trim ()

    Console.WriteLine ( ">> " + msg )
    < p > End Sub

    Private Sub broadcast ( ByVal msg As String , _

    ByVal usrName As String , ByVal flg Som Boolean )

    Dim dicEntry Som DictionaryEntry
    < p > For Each dicEntry I hshTbl

    Dim broadcastSocket Som tcpclient

    broadcastSocket = ctype ( dicEntry.Value , tcpclient )

    Dim broadcastStream Som NetworkStream = _

    broadcastSocket.GetStream ()

    Dim broadcastBytes Som [ Byte ] ()
    p Hvis flg = Ægte Så

    broadcastBytes = Encoding.ASCII.GetBytes ( usrName + "siger: " + msg )

    Else

    broadcastBytes = Encoding.ASCII.GetBytes (MSG )

    End Hvis

    broadcastStream.Write ( broadcastBytes , 0 , broadcastBytes . længde)

    broadcastStream.Flush ()

    Næste

    End Sub

    Public Class handleClinet

    Dim tClient Som tcpclient

    Dim clNo As String

    Dim hshTbl Som Hashtable

    Public Sub startClient ( ByVal inClientSocket Som tcpclient , _

    ByVal clnNum As String , ByVal hsTbl Som hashtabelsamling ) < br >

    Me.tClient = inClientSocket

    Me.clNo = clnNum

    Me.hshTbl = hsTbl

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

    ctThread.Start ()

    End Sub

    Private Sub doChat ()

    Dim infntCntr As Integer

    Dim rqstCnt As Integer

    Dim btsFrom ( 10024 ) Som Byte

    Dim clientData As String

    Dim btsSend Som [ Byte ] ()

    Dim responseSrvr As String

    Dim rCnt As String

    rqstCnt = 0

    infntCntr = 1 Til 2

    infntCntr = 1

    Prøv

    rqstCnt = rqstCnt + 1

    Dim networkStream Som networkStream = _

    tClient.GetStream ()

    networkStream.Read ( btsFrom , 0, Cint ( tClient.ReceiveBufferSize ) )

    clientData = System.Text.Encoding.ASCII.GetString ( btsFrom )

    clientData = _

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

    msg ( "From klient :" + clNo + " :" + clientData )

    rCnt = Convert.ToString ( rqstCnt )

    broadcast ( clientData , clNo , sand)

    Fang ex Som Exception

    MsgBox ( ex.ToString )

    End Prøv

    Næste

    End Sub

    End Class

    End Module
    3

    Åbn en ny forekomst af Microsoft Visual Basic Express , klik på " nyt projekt ... " i venstre rude af din skærmen , og vælg derefter "Windows Forms Application ". Klik på "OK". Klik på " Toolbox" rude dobbeltklik derefter på " TextBox " for at tilføje en ny tekstboks. Tilføj yderligere to tekstbokse ved hjælp af samme metode. Tilføj to knapper fra "Toolbox "-menuen.
    4

    Dobbeltklik på formular , Tryk på " Ctrl" og "A ", tryk derefter på "Slet " for at fjerne alle eksisterende kode. Kopier og indsæt koden nedenfor ind i din " Form1.vb "-modulet til at oprette klient program :

    Import System.Net.Sockets

    Import System.Text

    Public Class Form1

    Dim clntSckt As New System.Net.Sockets.TcpClient ()

    Dim srvrStrm Som NetworkStream

    Dim rddata As String

    Dim infCntr Som Integer

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

    ByVal e Som System.EventArgs ) Handles Button1.Click

    Dim streamOut Som Byte () = _

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

    srvrStrm.Write ( streamOut , 0, streamOut.Length )

    srvrStrm.Flush ()

    End Sub

    Private Sub msg ()
    p Hvis Me.InvokeRequired Så

    Me.Invoke (New MethodInvoker ( AddressOf msg ) )

    Else < br >

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

    End If

    End Sub

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

    ByVal e Som System.EventArgs ) Handles Button2.Click

    rddata = " conected at chatte server ... "

    msg ( )

    clntSckt.Connect ( " 127.0.0.1 " , 8888)

    srvrStrm = clntSckt.GetStream ()

    Dim streamOut Som Byte () = _
    < p> System.Text.Encoding.ASCII.GetBytes ( TextBox3.Text + "$" )

    srvrStrm.Write ( streamOut , 0, streamOut.Length )

    srvrStrm.Flush () < br >

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

    ctThread.Start ()

    End Sub

    Private Sub GetMessage ()

    infCntr = 1 Til 2

    infCntr = 1

    srvrStrm = clntSckt.GetStream ()

    Dim buffSize As Integer

    Dim Instream ( 10024 ) As Byte

    buffSize = clntSckt.ReceiveBufferSize

    srvrStrm.Read ( Instream , 0, buffSize )

    Dim returndata As String = _
    < p> System.Text.Encoding.ASCII.GetString ( Instream )

    rddata = "" + returndata

    msg ()

    Næste

    End Sub

    End Class
    5

    Kør server program først ved at trykke på " F5 ". Start klient programmet ved at trykke på "F5 ". Skriv dit navn i " Textbox3 " og derefter klikke på " button2 "for at oprette en forbindelse til serveren program.
    6

    Skriv en besked i " TextBox2 "og derefter klikke på" Button1 "for at sende din besked . beskeden vil blive vist i outputtet Window of the server.

    Forrige :

    næste :
      Relaterede artikler
    ·VBA -kode Development 
    ·Sådan Beregn filstørrelse i Visual Basic.NET 
    ·Sådan Gør din egen video med billeder og musik 
    ·Sådan Find en post i en Recordset 
    ·Hvordan skal tjekkes Code VB6 Funktioner 
    ·Sådan bruges Målsøgning i Visual Basic 
    ·Hvordan til at udfylde en ASP Form Field i en Word-fil …
    ·Sådan krypteres en fil i VB.NET 
    ·Visual Basic Tutorial for Windows 7 
    ·Hvad Er Ejendomme i VB.Net 
      Anbefalede Artikler
    ·Sådan installeres plugins til en Instant Rails Anvende…
    ·Tutorial for XML til Perl 
    ·Sådan oprettes en HTML Galleri 
    ·Sådan Sync til Changelist 
    ·Sådan Beregn Switch Overhead 
    ·Forskellen mellem FILESTREAM & StreamReader 
    ·Sådan bruges en vindmåler i BASIC Stamp One 
    ·Sådan Tilføj til include_path 
    ·Hvordan laver MFC interface Tråde 
    ·Sådan Update A Display Field Brug JavaScript 
    Copyright © Computer Viden http://www.computerdk.com