Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako si vyrobiť do konverzačnej miestnosti v jazyku Visual Basic Express

Mať vedomosti o tom , ako vytvoriť chatovacej miestnosti pomocou Microsoft Visual Basic Express vám môže ušetriť čas , kedy budete musieť vytvoriť izbu aplikácii chatu . Visual Basic Express je k dispozícii zadarmo pre každého , kto sa zaujímajú o vytváranie aplikácií pomocou VB.NET . Do konverzačnej miestnosti zahŕňa dve aplikácie , servera a klienta . Server spracováva všetky klientske pripojenia na , a klientská aplikácia pripája užívateľa do miestnosti servera pre odosielanie správ . Pokyny dovolená 1

Spustite program Microsoft Visual Basic Express a potom kliknite na tlačidlo " Nový projekt " . V ľavej table obrazovky , zvoľte " Aplikácia konzoly . " Kliknite na tlačidlo " OK " .
2

Stlačte tlačidlo " Ctrl " + " A " , a potom stlačte tlačidlo " Delete " . Skopírujte a vložte nasledujúci kód do vášho " Module1.vb " vytvoriť program servera:

Dovoz System.Net.Sockets

Dovoz System.Text

Module Module1

Dim clientsList Ako Nový Hashtable

Sub Main ( )

Dim ServerSocket As New TcpListener ( 8888 )

Dim clientSocket Ako TcpClient

Dim infiniteCounter As Integer

Dim počítadlo As Integer

serverSocket.Start ( )

MSG ( " Rozprávať server bol spustený .... " )

counter = 0

infiniteCounter = 0

infiniteCounter = 1 K 2

infiniteCounter = 1

counter + = 1

clientSocket = serverSocket.AcceptTcpClient ( )

Dim bytesFrom ( 10024 ) Ako Byte

Dim dataFromClient As String Dim

NetworkStream As 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

vysielania ( dataFromClient + " Pripojený " , dataFromClient , false )

msg ( dataFromClient + " Pridali sa do konverzačnej miestnosti " )

Dim klient ako New handleClinet

client.startClient ( clientSocket , dataFromClient , Sub

Sub msg ( ByVal MESG As String )

mesg.Trim ( )

Console.WriteLine ( " >> " + MESG )

End Sub

Private Sub vysielania ( byVal msg As String , _ byVal

uname As String , byVal vlajky As Boolean )

Dim položky ako DictionaryEntry

Pre každú položku v clientsList

Dim broadcastSocket Ako TcpClient

broadcastSocket = Cdruh ( Item.Value , TcpClient )

Dim broadcastStream Ako NetworkStream = _

broadcastSocket.GetStream ( )

Dim broadcastBytes As [ Byte ] ( )

flag = True Then

broadcastBytes = Encoding.ASCII.GetBytes ( uname + " hovorí : " + msg )

Else

broadcastBytes = Encoding.ASCII.GetBytes ( msg )

End If

broadcastStream.Write ( broadcastBytes , 0 , broadcastBytes . dĺžka )

broadcastStream.Flush ( )

Ďalšie

End Sub

Public Class handleClinet

Dim ClientSocket ako TcpClient

Dim ClNO As String Dim

clientsList Ako Hashtable

Public Sub startClient ( byval inClientSocket Ako TcpClient , _ byVal

clineNo As String , byval CList Ako Hashtable )

Me.clientSocket = inClientSocket

Me.clNo = clineNo

Me.clientsList = CList

Dim ctThread Ako Threading.Thread = Nové Threading.Thread ( AddressOf doch )

ctThread.Start ( )

End Sub

Private Sub doch ( )

Dim infiniteCounter As Integer Dim

requestCount As Integer

Dim bytesFrom ( 10024 ) Ako Byte

Dim dataFromClient As String Dim

sendBytes As Byte [ ] ( )

Dim serverResponse As String

Dim RCount As String

requestCount = 0

infiniteCounter = 1 K 2

infiniteCounter = 1

Skúste

requestCount = requestCount + 1

Dim NetworkStream Ako NetworkStream = _

clientSocket.GetStream ( )

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

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

dataFromClient = _

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

msg ( " Od klienta - " + ClNO + " : " + dataFromClient )

RCount = Convert.ToString ( requestCount )

vysielania ( dataFromClient , ClNO , pravda )

Chytiť ex ako výnimka

MsgBox ( ex.ToString )

End Try

Ďalšie

End Sub

End Class

End Module
3

spustite program Microsoft Visual Basic Express a potom kliknite na tlačidlo " Nový projekt . " na ľavej table obrazovky , zvoľte " windows Forms . " Kliknite na tlačidlo " OK " . Kliknite na " Nástroje " panel , a potom dvakrát kliknite na " textové pole " pridať nové textové pole . Pridať dve textové polia . Pridať dve tlačidlá z menu " Nástroje " .
Stránka 4

Dvakrát kliknite na formulár a potom stlačte tlačidlo " Ctrl " + " A. " Stlačte tlačidlo " Delete " . skopírujte a vložte nasledujúci kód do vášho " Form1.vb " modulu vytvoriť klientský program :

Dovoz System.Net.Sockets

Dovoz System.Text

Public Class Form1

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

Dim serverStream ako NetworkStream

Dim readData As String Dim

infiniteCounter As Integer

Private Sub Button1_Click ( byval odosielateľ ako Object , _

byval e ako System.EventArgs ) Kľuky Button1.Click klipart

Dim outStream As Byte ( ) = _

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

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

serverStream.Flush ( )

End Sub

Private Sub msg ( )

Ak Me.InvokeRequired Potom

Me.Invoke ( New MethodInvoker ( AddressOf msg ) )

Else

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

End If

End Sub

Private Sub Button2_Click ( byval odosielateľ ako Object , _

byval e ako System.EventArgs ) Kľuky Button2.Click

readData = " pripojených na serveri chate ... "

msg ( )

clientSocket.Connect ( " 127.0.0.1 " , 8888 )

' Label1.Text = " Klient Socket Program - server pripojený ... "

serverStream = clientSocket.GetStream ( )

Dim outStream ako Byte ( ) = _

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

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

serverStream.Flush ( )

Dim ctThread Ako Threading.Thread = Nové Threading.Thread ( AddressOf GetMessage )

ctThread.Start ( )

End Sub

Private Sub GetMessage ( )

infiniteCounter = 1 K 2

infiniteCounter = 1

serverStream = clientSocket.GetStream ( )

Dim buffSize As Integer

Dim vo videu ( 10024 ) Ako Byte

buffSize = clientSocket.ReceiveBufferSize

serverStream.Read ( vo videu , 0 , buffSize )

Dim returndata As String = _

System.Text.Encoding.ASCII.GetString ( vo videu )

readData = " " + returndata

msg ( )

Ďalšie

End Sub End Class


5

spustite program servera najprv stlačením tlačidla " F5 " , a potom spustite program klienta . Zadajte svoje meno " Textbox3 " a kliknite na tlačidlo " Button2 " pre pripojenie k serveru . Napíšte správu v " TextBox2 , " a potom kliknite na tlačidlo " Button1 " odoslať správu .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené