Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
 Otvorte program Microsoft Visual Basic Express , kliknite na tlačidlo " Nový projekt ... " V ľavej table obrazovky , potom vyberte " Aplikácia konzoly . " Kliknite na tlačidlo " OK " . 
 2 
 Stlačte tlačidlo " Ctrl " a " , " a potom stlačte tlačidlo " Delete " odstrániť všetky existujúce kód . Skopírujte a vložte nižšie uvedený kód do vašej " Module1.vb " vytvoriť serverové aplikácie : 
 
 Dovoz System.Net.Sockets 
 
 Dovoz System.Text 
 
 Module Module1 
 
 Dim hshTbl Ako Nový Hashtable 
 
 Sub Main ( ) 
 
 Dim svrSckt As New TcpListener ( 8888 ) 
 
 Dim tClient Ako TcpClient 
 
 Dim infntCntr As Integer 
 
 Dim cntr As Integer 
 
 svrSckt.Start ( ) 
 
 msg ( " server bol spustený pre chatovanie .... " ) 
 
 cntr = 0 
 
 infntCntr = 0 
 
 infntCntr = 1 K 2 
 
 infntCntr = 1 
 
 Čítač + = 1 
 
 tClient = svrSckt.AcceptTcpClient ( ) 
 
 Dim btsFrom ( 10024 ) Ako Byte 
 
 Dim clientData As String Dim 
 
 NetworkStream As 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 
 
 vysielania ( clientData + " sa stal " , clientData , FALSE ) 
 
 msg ( clientData + " sa stal chatovaciu miestnosť " ) 
 
 Dim klient ako New handleClinet 
 
 client.startClient ( tClient , clientData , Sub 
 
 Sub msg ( ByVal msg As String ) 
 
 msg.Trim ( ) 
 
 Console.WriteLine ( " >> " + msg ) 
 
 End Sub 
 
 Private Sub vysielania ( byVal msg As String , _ byVal 
 
 usrName As String , byVal FLG As Boolean ) 
 
 Dim dicentra Ako DictionaryEntry 
 
 Pre každý dicentra V hshTbl 
 
 Dim broadcastSocket Ako TcpClient 
 
 broadcastSocket = Cdruh ( dicEntry.Value , TcpClient ) 
 
 Dim broadcastStream Ako NetworkStream = _ 
 
 broadcastSocket.GetStream ( ) 
 
 Dim broadcastBytes As [ Byte ] ( ) 
 
 Ak FLG = True Then 
 
 broadcastBytes = Encoding.ASCII.GetBytes ( usrName + " 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 tClient ako TcpClient 
 
 Dim ClNO As String Dim 
 
 hshTbl Ako Hashtable 
 
 Public Sub startClient ( byval inClientSocket Ako TcpClient , _ byVal 
 
 clnNum As String , byval hsTbl Ako Hashtable ) 
 
 Me.tClient = inClientSocket 
 
 Me.clNo = clnNum 
 
 Me.hshTbl = hsTbl 
 
 Dim ctThread Ako Threading.Thread = Nové Threading.Thread ( AddressOf doch ) 
 
 ctThread.Start ( ) 
 
 End Sub 
 
 Private Sub doch ( ) 
 
 Dim infntCntr As Integer Dim 
 
 rqstCnt As Integer 
 
 Dim btsFrom ( 10024 ) Ako Byte 
 
 Dim clientData As String Dim 
 
 btsSend As Byte [ ] ( ) 
 
 Dim responseSrvr As String 
 
 Dim rCnt As String 
 
 rqstCnt = 0 
 
 infntCntr = 1 K 2 
 
 infntCntr = 1 
 
 Skúste 
 
 rqstCnt = rqstCnt + 1 
 
 Dim NetworkStream Ako NetworkStream = _ 
 
 tClient.GetStream ( ) 
 
 networkStream.Read ( btsFrom , 0 , CInt ( tClient.ReceiveBufferSize ) ) 
 
 clientData = System.Text.Encoding.ASCII.GetString ( btsFrom ) 
 
 clientData = _ 
 
 clientData.Substring ( 0 , clientData.IndexOf ( " $ " ) ) 
 
 msg ( " Od klienta : " + ClNO + " : " + clientData ) 
 
 rCnt = Convert.ToString ( rqstCnt ) 
 
 vysielania ( clientData , ClNO , pravda ) 
 
 Chytiť ex ako výnimka 
 
 MsgBox ( ex.ToString ) 
 
 End Try 
 
 Ďalšie 
 
 End Sub 
 
 End Class 
 
 End Module 
 3 
 Otvorenie novej inštancie aplikácie Microsoft Visual Basic Express , kliknite na tlačidlo " Nový projekt ... " na ľavom paneli vášho obrazovke , vyberte " Windows Forms . " Kliknite na tlačidlo " OK " . Kliknite na " Nástroje " panel , dvakrát kliknite na tlačidlo " textové pole " pridať nové textové pole . Pridať dve textové polia pomocou rovnakej metódy . Pridať dve tlačidlá z menu " Nástroje " . 
 4 
Dvakrát kliknite na formulár , stlačte " Ctrl " a " a " , potom stlačte tlačidlo " Delete " odstrániť všetky existujúce kód . skopírujte a vložte nižšie uvedený kód do vašich " Form1.vb " modul vytvoriť klientský program : Spojené
 Dovoz System.Net.Sockets 
 
 Dovoz System.Text 
 
 Public Class Form1 
 
 Dim clntSckt ako nový System.Net.Sockets.TcpClient ( ) 
 
 Dim srvrStrm ako NetworkStream 
 
 Dim rddata As String Dim 
 
 infCntr As Integer 
 
 Private Sub Button1_Click ( byval sender ako Object , _ byval 
 
e As System.EventArgs ) Kľuky Button1.Click klipart
 Dim streamOut ako Byte ( ) = _ 
 
 System.Text . Encoding.ASCII.GetBytes ( TextBox2.Text + " $ " ) 
 
 srvrStrm.Write ( streamOut , 0 , streamOut.Length ) 
 
 srvrStrm.Flush ( ) 
 
 end Sub 
 
 Private Sub msg ( ) 
 
 Ak Me.InvokeRequired Potom 
 
 Me.Invoke ( New MethodInvoker ( AddressOf msg ) ) 
 
 Else 
 
 TextBox1.Text = TextBox1.Text + Environment.NewLine + " >> " + rddata 
 
 End If 
 
 End Sub 
 
 Private Sub Button2_Click ( byval odosielateľa ako System.Object , _ 
 
byval e ako System.EventArgs ) Kľuky Button2.Click klipart
 rddata = " pripojených na chate servera ... " 
 
 msg ( ) 
 
 clntSckt.Connect ( " 127.0.0.1 " , 8888 ) 
 
 srvrStrm = clntSckt.GetStream ( ) 
 
 Dim streamOut Ako Byte ( ) = _ 
 
 System.Text.Encoding.ASCII.GetBytes ( TextBox3.Text + " $ " ) 
 
 srvrStrm.Write ( streamOut , 0 , streamOut.Length ) 
 
 srvrStrm.Flush ( ) 
 
 Dim ctThread Ako Threading.Thread = Nové Threading.Thread ( AddressOf GetMessage ) 
 
 ctThread.Start ( ) 
 
 End Sub 
 
 Private Sub GetMessage ( ) 
 
 infCntr = 1 K 2 
 
 infCntr = 1 
 
 srvrStrm = clntSckt.GetStream ( ) 
 
 Dim buffSize As Integer 
 
 Dim vo videu ( 10024 ) Ako Byte 
 
 buffSize = clntSckt.ReceiveBufferSize 
 
 srvrStrm.Read ( vo videu , 0 , buffSize ) 
 
 Dim returndata As String = _ 
 
 System.Text.Encoding.ASCII.GetString ( vo videu ) 
 
 rddata = " " + returndata 
 
 msg ( ) 
 
 Ďalšie 
 
 End Sub 
 
 End Class 
 5 
 spustite program servera najprv stlačením " F5 " . spustite klientsky program stlačením tlačidla " F5 " . Zadajte svoje meno " Textbox3 , " kliknite na tlačidlo " button2 " nadviazať spojenie s programom servera . 
 6 
 Zadajte správu do " TextBox2 , " kliknite na tlačidlo " Button1 "odoslať správu . Správa sa zobrazí v okne výstup servera .