Ξεκινήστε το Microsoft Visual Basic Express , και στη συνέχεια κάντε κλικ στο κουμπί "New Project ". Στο αριστερό τμήμα του παραθύρου της οθόνης σας , επιλέξτε " Εφαρμογή κονσόλας . " Κάντε κλικ στο " OK". 2
Πατήστε το " Ctrl " + " A " και στη συνέχεια πατήστε το κουμπί " Διαγραφή ". Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο " Module1.vb " σας για να δημιουργήσετε το πρόγραμμα διακομιστή :
Εισαγωγές System.Net.Sockets
Εισαγωγές System.Text
Module Module1
Dim clientsList Όπως New Hashtable
Sub Main ( )
Dim ServerSocket Όπως New TcpListener ( 8888 )
Dim clientSocket Όπως TcpClient
dim infiniteCounter As Integer
dim μετρητή As Integer
serverSocket.Start ( )
msg ( " διακομιστή συνομιλίας Ξεκίνησε ...." )
μετρητή = 0
infiniteCounter = 0
Για infiniteCounter = 1 να 2
infiniteCounter = 1
μετρητής + = 1
clientSocket = serverSocket.AcceptTcpClient ( )
Δημ. bytesFrom ( 10024 ) Όπως Byte
Dim dataFromClient Όπως String Dim
networkStream Όπως 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
εκπομπή ( dataFromClient + " Εγγραφή " , dataFromClient , False )
msg ( dataFromClient + " Εγγραφή δωμάτιο συνομιλίας " )
Dim πελάτη As New handleClinet
client.startClient ( clientSocket , dataFromClient , Υπο
Sub msg ( ByVal mesg Όπως String )
mesg.Trim ( )
Console.WriteLine ( " >> " + mesg )
End Sub
Private Sub εκπομπή ( ByVal msg Όπως String , _
ByVal uname Όπως String , σημαία ByVal Όπως Boolean )
Dim στοιχείου ως DictionaryEntry
για κάθε είδος clientsList
Dim broadcastSocket Όπως TcpClient
broadcastSocket = ctype ( Item.Value , TcpClient )
Dim broadcastStream Όπως NetworkStream = _
broadcastSocket.GetStream ( )
Dim broadcastBytes Όπως [ Byte ] ( )
Εάν σημαία = True τότε
broadcastBytes = Encoding.ASCII.GetBytes ( uname + " λέει : " + msg )
υπόλοιπα
broadcastBytes = Encoding.ASCII.GetBytes ( msg )
End If
broadcastStream.Write ( broadcastBytes , 0 , broadcastBytes . μήκος)
broadcastStream.Flush ( )
Επόμενο
End Sub
Δημόσιας Τάξης handleClinet
Dim clientSocket Όπως TcpClient
Dim νόνη Όπως String Dim
clientsList Όπως Hashtable
Public Sub startClient ( ByVal inClientSocket Όπως TcpClient , _
ByVal clineNo As String , ByVal clist Όπως Hashtable )
Me.clientSocket = inClientSocket
Me.clNo = clineNo
Me.clientsList = clist
Dim ctThread Όπως Threading.Thread = Νέα Threading.Thread ( AddressOf doChat )
ctThread.Start ( )
End Sub
Private Sub doChat ( )
Dim infiniteCounter As Integer
Dim requestCount As Integer
Δημ. bytesFrom ( 10024 ) Όπως Byte
Dim dataFromClient Όπως String Dim
sendBytes Όπως [ Byte ] ( )
Dim serverResponse As String
Dim rCount Όπως String
requestCount = 0
Για infiniteCounter = 1 να 2
infiniteCounter = 1
Δοκιμάστε
requestCount = requestCount + 1
Dim networkStream Όπως networkStream = _
clientSocket.GetStream ( )
networkStream.Read ( bytesFrom , 0 , CInt ( clientSocket.ReceiveBufferSize ) )
dataFromClient = System.Text.Encoding.ASCII.GetString ( bytesFrom )
dataFromClient = _
dataFromClient.Substring ( 0 , dataFromClient.IndexOf ( " $ " ) )
msg ( «Από τον πελάτη - " + νόνη + " : " + dataFromClient )
rCount = Convert.ToString ( requestCount )
εκπομπή ( dataFromClient , νόνη , Αληθές)
Catch ex Όπως Εξαίρεση
MsgBox ( ex.ToString )
End Δοκιμάστε
Επόμενο
End Sub
End Class
End Module
εικόνων 3
Ξεκινήστε το Microsoft Visual Basic Express , και στη συνέχεια κάντε κλικ στο κουμπί "New Project . " στο αριστερό τμήμα του παραθύρου της οθόνης σας , επιλέξτε " Windows Forms Application . " κάντε κλικ στο κουμπί " OK ". κάντε κλικ στο " Toolbox " παράθυρο , και στη συνέχεια κάντε διπλό κλικ στο" πλαίσιο κειμένου "για να προσθέσετε ένα νέο πλαίσιο κειμένου . Προσθήκη δύο πλαίσια κειμένου . Προσθήκη δύο κουμπιά από το μενού" Εργαλεία " .
Φτηνές 4
κάντε διπλό κλικ στη φόρμα και, στη συνέχεια πατήστε το πλήκτρο "Ctrl " + " Α. " Πατήστε "Διαγραφή ". Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο σας " Form1.vb " ενότητα για να δημιουργήσετε το πρόγραμμα-πελάτη :
Εισαγωγές System.Net.Sockets
Εισαγωγές System.Text
Δημόσιας Τάξης Φόρμα1
Dim clientSocket Όπως New System.Net.Sockets.TcpClient ( )
Dim serverStream Όπως NetworkStream
Dim υπηρεσιών ReadDataByIdentifier Όπως String Dim
infiniteCounter As Integer
Private Sub Button1_Click ( ByVal αποστολέα Όπως System.Object , _
ByVal e Όπως System.EventArgs ) Λαβές Button1.Click
Dim outStream Όπως Byte ( ) = _
System.Text.Encoding.ASCII.GetBytes ( TextBox2.Text + " $ " )
serverStream.Write ( outStream , 0 , outStream.Length )
serverStream.Flush ( )
End Sub
Private Sub msg ( )
Αν Me.InvokeRequired τότε
Me.Invoke ( New MethodInvoker ( AddressOf msg ) )
υπόλοιπα
TextBox1.Text = TextBox1.Text + Environment.NewLine + " >> " + υπηρεσιών ReadDataByIdentifier
End If
End Sub
Private Sub Button2_Click ( ByVal αποστολέα Όπως System.Object , _
ByVal e Όπως System.EventArgs ) Λαβές Button2.Click
υπηρεσιών ReadDataByIdentifier = " είναι συνδεμένο στο Chat διακομιστή ... "
msg ( )
clientSocket.Connect ( " 127.0.0.1 " , 8888 )
' Label1.Text = " Πελάτης Socket Πρόγραμμα - διακομιστή Connected ... "
serverStream = clientSocket.GetStream ( )
Dim outStream Όπως Byte ( ) = _
System.Text.Encoding.ASCII.GetBytes ( TextBox3.Text + " $ " )
serverStream.Write ( outStream , 0 , outStream.Length )
serverStream.Flush ( )
Dim ctThread Όπως Threading.Thread = Νέα Threading.Thread ( AddressOf GetMessage )
ctThread.Start ( )
End Sub
Private Sub GetMessage ( )
Για infiniteCounter = 1 να 2
infiniteCounter = 1
serverStream = clientSocket.GetStream ( )
Dim buffSize As Integer
Dim instream ( 10024 ) Όπως Byte
buffSize = clientSocket.ReceiveBufferSize
serverStream.Read ( instream , 0 , buffSize )
dim returndata As String = _
System.Text.Encoding.ASCII.GetString ( instream )
υπηρεσιών ReadDataByIdentifier = " " + returndata
msg ( )
Επόμενη
End Sub
End Class
5
εκτελέστε το πρόγραμμα διακομιστή πρώτο πατώντας το πλήκτρο " F5 " , και στη συνέχεια, εκτελέστε το πρόγραμμα-πελάτη . Πληκτρολογήστε το όνομά σας " TextBox3 " και κάντε κλικ στο " Button2 " για να συνδεθείτε με το διακομιστή . Πληκτρολογήστε ένα μήνυμα στο " TextBox2 , " και στη συνέχεια κάντε κλικ στο κουμπί " Button1 " για να στείλετε ένα μήνυμα .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα