| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Visual Basics Programación >> Content
    Cómo hacer una sala de chat en Visual Basic Express
    Tener el conocimiento de cómo crear una sala de chat utilizando Microsoft Visual Basic Express le puede ahorrar tiempo cuando se necesita para crear una aplicación de chat. Visual Basic Express está disponible de forma gratuita a cualquier persona interesada en la creación de aplicaciones utilizando VB.NET . Una sala de chat consiste en dos aplicaciones , el servidor y el cliente . El servidor se encarga de todas las conexiones de cliente , y la aplicación cliente conecta a los usuarios a la sala de servidor para enviar mensajes . Instrucciones
    1

    Inicie Microsoft Visual Basic Express, y luego haga clic en " Nuevo proyecto ". En el panel izquierdo de la pantalla , seleccione " Aplicación de consola. " Haga clic en " Aceptar".

    2 Pulse la tecla "Ctrl " + " A ", y luego presione " Eliminar". Copie y pegue el siguiente código en tu " Module1.vb " para crear el programa de servidor :

    Importaciones System.Net.Sockets

    Imports System.Text Módulo


    Module1

    clientsList Dim As New Hashtable

    Sub Main ()

    ServerSocket Dim As New TcpListener ( 8888 )

    ClientSocket As TcpClient

    infiniteCounter Dim As Integer

    counter As Integer

    serverSocket.Start ()

    msg ( " chat Server Started .... ")
    counter

    = 0

    infiniteCounter = 0

    Para infiniteCounter = 1 a 2

    infiniteCounter = 1

    contador + = 1

    ClientSocket = serverSocket.AcceptTcpClient ()

    Dim bytesFrom ( 10024 ) As Byte

    dataFromClient dévil como secuencia

    NetworkStream dévil como 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

    difusión ( dataFromClient + " Registrado " , dataFromClient , Falso)

    msg ( dataFromClient + " Registrado sala de chat " )

    cliente Dim As New handleClinet

    client.startClient ( ClientSocket , dataFromClient , Sub

    Sub msg ( mesg ByVal como secuencia)

    mesg.Trim ()

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

    emisión Sub Private (msg ByVal As String , _

    uName ByVal como secuencia , bandera ByVal As Boolean )

    Dim Elemento como
    DictionaryEntry

    Para cada elemento de clientsList

    broadcastSocket As TcpClient

    broadcastSocket = CType ( Item.Value , TcpClient )

    broadcastStream dévil como NetworkStream = _

    broadcastSocket.GetStream ()

    broadcastBytes Dim As [ Byte ] ()

    Si flag = true entonces

    broadcastBytes = Encoding.ASCII.GetBytes ( uName + " dice: " + msg)

    demás

    broadcastBytes = Encoding.ASCII.GetBytes ( msg)

    End If

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

    broadcastStream.Flush ()

    Siguiente

    End Sub

    Public Class handleClinet

    ClientSocket Dim As
    TcpClient

    ClNO As String Dim

    clientsList As Hashtable

    Public Sub startClient ( ByVal inClientSocket Como TcpClient , _

    clineNo ByVal As String , ByVal CList Como Hashtable )

    Me.clientSocket = inClientSocket

    Me.clNo = clineNo

    Me.clientsList = CList

    ctThread As threading.Thread = New threading.Thread ( AddressOf doChat )

    ctThread.Start ()

    End Sub

    doChat Sub Private ()

    infiniteCounter Dim As Integer Dim

    RequestCount As Integer Dim

    bytesFrom ( 10024 ) As Byte

    dataFromClient dévil como secuencia

    sendBytes Dim Como [ Byte ] ()

    serverResponse Dim As String

    RCOUNT dévil como secuencia

    RequestCount = 0

    Para infiniteCounter = 1 a 2

    infiniteCounter = 1

    Prueba

    RequestCount = RequestCount + 1

    NetworkStream dévil como NetworkStream = _

    clientSocket.GetStream ()

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

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

    dataFromClient = _

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

    msg ( " Desde el cliente - " ClNO + + ": " + dataFromClient )

    RCOUNT = Convert.ToString ( RequestCount )
    emisión

    ( dataFromClient , ClNO , verdadero)

    Catch ex As Exception

    MsgBox ( ex.ToString )

    End Try

    Siguiente

    End Sub

    End Class

    End Module
    3

    Inicie Microsoft Visual Basic Express y haga clic en "Nuevo proyecto ". En el panel izquierdo de la pantalla , seleccione " Aplicación de Windows Forms ". Haga clic en" Aceptar ". Haga clic en el " panel " , y luego haga doble clic en " caja de herramientas de cuadro de texto "para añadir un nuevo cuadro de texto . Añadir otros dos cuadros de texto. Agregue dos botones en el menú" Herramientas " . < br > Página 4

    doble clic en el formulario y, a continuación, pulse la tecla "Ctrl " + "A" Press Copia y pega el siguiente código en el módulo " Form1.vb " para crear el programa cliente " Eliminar". :

    Importaciones System.Net.Sockets

    Imports System.Text

    Public Class Form1

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

    serverStream dévil como NetworkStream

    readData dévil como secuencia

    infiniteCounter Dim As Integer

    Private Sub Button1_Click ( remitente de ByVal como System.Object , _ < br >

    ByVal e como System.EventArgs ) Handles Button1.Click

    outStream As Byte () = _

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

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

    serverStream.Flush ()

    End Sub

    msj Private Sub ( )

    Si Me.InvokeRequired Entonces

    Me.Invoke (New MethodInvoker ( AddressOf msg) )

    demás

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

    End If End Sub


    Private Sub Button2_Click ( remitente de ByVal como System.Object , _
    < p> ByVal e como System.EventArgs ) Handles Button2.Click

    readData = " Conectados al servidor de chat ... "

    msg ( )

    clientSocket.Connect ( " 127.0.0.1 " , 8888 ) Label1.Text =

    " Programa de socket de cliente - servidor conectado ... "

    serverStream = clientSocket.GetStream ()

    outStream Dim As Byte () = _
    System.Text.Encoding.ASCII.GetBytes

    ( TextBox3.Text + " $" )

    serverStream.Write ( outStream , 0, outStream.Length ) < br >

    serverStream.Flush ()

    ctThread Dim As threading.Thread = New threading.Thread ( AddressOf getMessage )

    ctThread.Start ()

    End Sub

    Private Sub getMessage ()

    Para infiniteCounter = 1 a 2

    infiniteCounter = 1

    serverStream = clientSocket.GetStream ()

    buffSize As Integer

    Instream Dim ( 10024 ) As Byte

    buffSize = clientSocket.ReceiveBufferSize

    serverStream.Read ( dentro de la corriente , 0, buffSize )

    returndata As String = _

    System.Text.Encoding.ASCII.GetString ( dentro de la corriente )

    readData = " " + returndata

    msg ( )
    < p > Siguiente

    End Sub End Class


    5

    ejecute el programa de servidor de primera con la tecla " F5 " , ya continuación, ejecute el programa cliente. Escriba su nombre en " TextBox3 " y haga clic en " Button2 " para conectar con el servidor. Escriba un mensaje en " TextBox2 , " y luego haga clic en " Button1 " para enviar un mensaje.

    Previous :

    next :
      Artículos relacionados
    ·Cómo obtener una respuesta de un cuadro de mensaje en …
    ·Cómo suministrar mensajes con Vb.Net 
    ·Cómo hacer un arreglo en VBS 
    ·Cómo crear una cuadrícula de datos en Visual Basic 
    ·Guía para VB.NET 
    ·Funciones GridView 
    ·¿Qué es un error de desbordamiento en Vb.net 
    ·Pasos para crear una aplicación de Visual Basic 
    ·Cómo crear un controlador de errores para un programa …
    ·Cómo abrir un programa con Visual Basic 
      Artículos destacados
    ·Cómo eliminar Desde MySQL 
    ·Cómo utilizar Cscript para crear una base de datos bas…
    ·Cómo crear Turn- Based Games 
    ·Cómo escribir una definición para una función Interc…
    ·Cómo instalar Android 2.3 Uso SDK 
    ·Cómo construir tu propio Web Content Management System…
    ·Python SSL Tutorial 
    ·Cómo obtener el sistema en Python 
    ·Cómo convertir a Lógico en Python 
    ·Java Verificación de entrada 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com