Å ha kunnskap om hvordan du oppretter et praterom hjelp av Microsoft Visual Basic Express kan spare deg for tid når du må opprette et chatterom søknad. Visual Basic Express er gratis tilgjengelig for alle som er interessert i å lage applikasjoner ved hjelp av VB.NET . Et chatterom involverer to søknader , den serveren og klienten . Serveren håndterer alle klienttilkoblinger , og klientprogrammet kobler brukere til serverrommet for å sende meldinger . Instruksjoner
en
start Microsoft Visual Basic Express, og klikk deretter på "New Project ". På den venstre ruten på skjermen , velger du " Console Application. " Klikk "OK".
2
Trykk " Ctrl" + " A ", og trykk deretter på "Slett". Kopier og lim inn følgende kode inn i " Module1.vb " for å lage server programmet :
Importen System.Net.Sockets
Importen System.Text
Module Module1
Dim clientsList som ny Hashtable
Sub Main ( )
Dim ServerSocket som ny TcpListener ( 8888 )
Dim clientSocket Som TcpClient
Dim infiniteCounter As Integer
Dim teller As Integer
serverSocket.Start ( )
msg ( " Chat Server Startet ...." )
teller = 0
infiniteCounter = 0
For infiniteCounter = 1 To 2
infiniteCounter = 1
teller + = 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
kringkasting ( dataFromClient + " Nye " , dataFromClient , false)
msg ( dataFromClient + " Ble chat room" )
Dim klient som ny handleClinet
client.startClient ( clientSocket , dataFromClient , Sub
Sub msg ( ByVal mesg As String )
mesg.Trim ( )
Console.WriteLine ( ">>" + mesg )
< p > End Sub
Private Sub kringkasting ( ByVal msg As String , _
ByVal uname As String , ByVal flagg Som Boolean )
Dim element som DictionaryEntry
< p > For hvert element i clientsList
Dim broadcastSocket Som TcpClient
broadcastSocket = ctype ( Item.Value , TcpClient )
Dim broadcastStream Som NetworkStream = _
broadcastSocket.GetStream ()
Dim broadcastBytes Som [ Byte ] ( )
p Hvis flagg = sant da
broadcastBytes = Encoding.ASCII.GetBytes ( uname + " 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 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 )
ctThread.Start ( )
End Sub
Private Sub doChat ( )
Dim infiniteCounter As Integer
Dim requestCount As Integer
Dim bytesFrom ( 10024 ) Som Byte
Dim dataFromClient Som String
Dim sendBytes Som [ Byte ] ( )
Dim serverResponse As String
Dim rCount As String
requestCount = 0
For infiniteCounter = 1 To 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 )
kringkasting ( dataFromClient , clNo , sant)
Catch ex As Exception
MsgBox ( ex.ToString )
End Prøv
Neste
End Sub
End Class
End Module
3
start Microsoft Visual Basic Express , og klikk deretter på "New Project . " På ruten til venstre på skjermen , velger du " Windows Forms Application. "Klikk " OK . "Klikk på " Toolbox " -panelet , og dobbeltklikk deretter på " TextBox "for å legge en ny tekstboks . Legg til to flere tekstbokser. Legg to knapper fra" Toolbox "-menyen .
4
Dobbeltklikk skjemaet, og deretter Trykk "Ctrl " + " A." Trykk Kopier og lim inn følgende kode inn i din " Form1.vb " modul for å lage klienten programmet " Delete". :
Importen System.Net.Sockets
Importen System.Text
Public Class Form1
Dim clientSocket som ny System.Net.Sockets.TcpClient ( )
Dim serverStream Som NetworkStream
Dim readData As String
Dim infiniteCounter As Integer
Private Sub button1_click ( ByVal avsenderen som System.Object , _
ByVal e Som System.EventArgs ) Håndtak Button1.Click
Dim outStream Som Byte ( ) = _
System.Text.Encoding.ASCII.GetBytes ( TextBox2.Text + " $ " )
serverStream.Write ( outStream , 0 , outStream.Length )
serverStream.Flush ( )
End Sub
Private Sub msg ( )
p Hvis Me.InvokeRequired Deretter
Me.Invoke (New MethodInvoker ( AddressOf msg ) )
Else
TextBox1.Text = TextBox1.Text + Environment.NewLine + " >> " + readData
End If
End Sub
Private Sub Button2_Click ( ByVal avsenderen som System.Object , _
< p> ByVal e Som System.EventArgs ) Håndtak Button2.Click
readData = " conected til Chat Server ... "
msg ( )
clientSocket.Connect ( " 127.0.0.1 " , 8888 )
' Label1.Text = " Client Socket Program - Server Connected ... "
serverStream = clientSocket.GetStream ( )
Dim outStream 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 To 2
infiniteCounter = 1
serverStream = clientSocket.GetStream ( )
Dim buffSize som heltall
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 ( )
< p > Neste
End Sub
End Class
5
Kjør server program først ved å trykke " F5" , og deretter kjøre klientprogrammet . Skriv navnet ditt i " Textbox3 " og klikk " Button2 " for å koble til serveren . Skriv en melding i " TextBox2 , " og deretter " Button1 " for å sende en melding.