Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Visual Basics Programming >> Content
    Hvordan koden Chat Software uten å bruke en Database
    Å vite hvordan man skal kode et chatterom uten å bruke en database kan hjelpe deg å lage en server /klient -programmet uten å måtte bruke tid på å utforme en database . En chat -programmet er opprettet ved hjelp av to søknader , klienten og serveren . Serveren programmet vil håndtere alle klient- tilkoblinger for å etablere kommunikasjon . Klientprogrammet er installert på alle datamaskiner som ønsker å koble til serveren for å chatte med andre klienter . Du kan lage dette programmet ved hjelp av Microsoft Visual Basic.NET , også kjent som VB.NET . Du trenger
    Microsoft Visual Basic Express
    Vis flere instruksjoner
    en

    Åpne Microsoft Visual Basic Express, klikker du "New Project ... " på ruten til venstre på skjermen , og velg deretter "Console Application. " Klikk "OK".
    2

    Trykk " Ctrl" og "A ", klikk deretter "Slett " for å fjerne all eksisterende kode . Kopier og lim inn koden nedenfor i din " Module1.vb " for å lage server-programmet :

    Importen System.Net.Sockets

    Importen System.Text

    Module Module1

    Dim hshTbl som ny Hashtable

    Sub Main ( )

    Dim svrSckt som ny TcpListener ( 8888 )

    Dim tClient Som TcpClient

    Dim infntCntr As Integer

    Dim cntr As Integer

    svrSckt.Start ( )

    msg ( " Server Startet for chatting ...." )

    cntr = 0

    infntCntr = 0

    For infntCntr = 1 To 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

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

    msg ( clientData + "har sluttet praterom ")

    Dim klient som ny handleClinet

    client.startClient ( tClient , clientData , Sub

    Sub msg ( ByVal msg As String )

    msg.Trim ( )

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

    Private Sub kringkasting ( ByVal msg As String , _

    ByVal usrName As String , ByVal FLG As Boolean )

    Dim dicEntry Som DictionaryEntry
    < p > For Hver 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 = sant da

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

    Else

    broadcastBytes = Encoding.ASCII.GetBytes ( MSG)

    End Hvis

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

    broadcastStream.Flush ( )

    Neste

    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 Hashtable )

    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

    For infntCntr = 1 To 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 ( " Fra klient : " + clNo + ":" + clientData )

    rCnt = Convert.ToString ( rqstCnt )

    kringkasting ( clientData , clNo , sant)

    Catch ex As Exception

    MsgBox ( ex.ToString )

    End Prøv

    Neste

    End Sub

    End Class

    End Module
    3

    Åpne en ny forekomst av Microsoft Visual Basic Express , klikker du "New Project ... " på venstre rute i skjermen, velg deretter "Windows Forms Application. " Klikk " OK ." Klikk på " Toolbox" -panelet , og dobbeltklikk på " TextBox " for å legge en ny tekstboks . Legg to tekstbokser ved hjelp av samme metode. Legg to knapper fra "Toolbox "-menyen .
    4

    Dobbeltklikk Form , Trykk "Ctrl " og "A ", klikk deretter "Slett " for å fjerne all eksisterende kode . Kopier og lim inn koden nedenfor i din " Form1.vb " modul for å lage klientprogrammet :

    Importen System.Net.Sockets

    Importen System.Text

    Public Class Form1

    Dim clntSckt som ny System.Net.Sockets.TcpClient ( )

    Dim srvrStrm Som NetworkStream

    Dim rddata As String

    Dim infCntr som heltall

    Private Sub button1_click ( ByVal avsenderen som System.Object , _

    ByVal e Som System.EventArgs ) Håndtak 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 Deretter

    Me.Invoke (New MethodInvoker ( AddressOf msg ) )

    Else

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

    End If

    End Sub

    Private Sub Button2_Click ( ByVal avsenderen som System.Object , Håndtak _

    ByVal e Som System.EventArgs ) Button2.Click

    rddata = " conected å 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 ( )

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

    ctThread.Start ( )

    End Sub

    Private Sub GetMessage ( )

    For infCntr = 1 To 2

    infCntr = 1

    srvrStrm = clntSckt.GetStream ( )

    Dim buffSize As Integer

    Dim InStream ( 10024 ) Som Byte

    buffSize = clntSckt.ReceiveBufferSize

    srvrStrm.Read ( InStream , 0 , buffSize )

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

    rddata = " " + returndata

    msg ( )

    Neste

    End Sub

    End Class
    5

    Kjør server program først ved å trykke " F5 . " Start klientprogrammet ved å trykke " F5 . " Skriv navnet ditt i " Textbox3 ," klikk " knappen2 "for å opprette en forbindelse med serveren programmet .
    6

    Skriv inn et innlegg i" TextBox2 , "klikk " Button1 "for å sende meldingen . meldingen vises i output Window of the server.

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bruke CreateProcess i VB6 
    ·Hvordan finne en katalog og Underkatalog i VBA 
    ·Slik endrer markøren til en egendefinert markør for V…
    ·Hvordan åpne en URL ved å klikke et bilde VB6 kode 
    ·Hvor å Endre skjermsparere med VB Programvare 
    ·Slik konverterer til heltall i VB6 
    ·Skjemaer i Visual Basic i Project av Skoleverket 
    ·Hvordan du skriver på arabisk i Visual Basic 
    ·Hvordan koble til MDB Gjennom Visual Basic 
    ·Hvordan finne den høyeste verdien i en Array i Visual …
      Anbefalte artikler
    ·Hvordan få Mouse X & Y i Actionscript3 
    ·Hvordan lage et nytt skjema Inne i NetBeans prosjektet 
    ·Slik installerer du et Handler i Axis2 
    ·Hvordan ha lister i Block PHP 
    ·Manglende Argument 1 for PHP 
    ·En introduksjon til Metadata 
    ·Hvordan få Antall rader i FlexGrid i Visual Basic 
    ·Egenskapene til iFrame i Java 
    ·Hvordan erstatte Pascal 
    ·Nivåer av Java sertifisering 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/