Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

duda con el winsock y visual basic

Estas en el tema de duda con el winsock y visual basic en el foro de Visual Basic clásico en Foros del Web. hola, alguno podria ayudarme con un problemita que tengo con el winsock y vb6. lo que estoy haciendo es un programa para de chat, que ...
  #1 (permalink)  
Antiguo 21/12/2004, 10:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 40
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta duda con el winsock y visual basic

hola,
alguno podria ayudarme con un problemita que tengo con el winsock y vb6.
lo que estoy haciendo es un programa para de chat, que mediante el winsock se conecta entre las maquinas, pero el problema biene cuando quiero conectar a varias personas al mismo tiempo, tambien otro problema es q estoy usando un solo programa q cumple la funcion de cliente/servidor. les tiro el codigo del programa para q se fijen y me digan q se puede hacer.
saludos y gracias.

***************** form principal****************************

Private Sub CmdAgregaD_Click()
Open App.Path & "\direcciones.dat" For Append As #1
Print #1, TxtDirecciones.Text
Close #1
TxtDirecciones.Text = ""
End Sub

Private Sub CmdAgregar_Click()
FrDirecciones.Visible = True
End Sub

Private Sub CmdClose_Click()
FrDirecciones.Visible = False
End Sub

Private Sub CmdConectar_Click()
If CmdConectar.Caption = "Conectar" Then
Win(0).Listen
AbrirArchivoYConectar
Else
Win(0).Close
LstUsuarios.Clear
End If
End Sub

Private Sub Form_Load()
Ind = 0
LblNombre.Caption = UCase(Win(0).LocalHostName & " - " & Win(0).LocalIP)
End Sub

Private Sub Win_Close(Index As Integer)
CmdConectar.Caption = "Conectar"
End Sub

Private Sub Win_Connect(Index As Integer)
MsgBox "Se completo la conexion con " & Win(Index).RemoteHostIP
LstUsuarios.AddItem Ind & " - " & Win(Index).RemoteHostIP
CmdConectar.Caption = "Desconectar"
Win(0).Listen
End Sub

Private Sub Win_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Not Win(Index).State = sckClosed Then Win(Index).Close
Ind = Ind + 1
Load Win(Ind)
Win(Ind).LocalPort = 888
Win(Ind).Accept requestID
Win(0).Listen
MsgBox "Se completo la conexion con " & Win(Index).RemoteHostIP
LstUsuarios.AddItem Ind & " - " & Win(Index).RemoteHostIP
CmdConectar.Caption = "Desconectar"
End Sub

Private Sub Win_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim datos As String
Win(Index).GetData datos
TxtRecibir.Text = TxtRecibir.Text + datos
FrmRecibir.Show
End Sub

Private Sub Win_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "error - " & Number & " - " & Description
End Sub

************************ form para hablar ******************

Private Sub CmdEnviar_Click()
Dim enviar As String
enviar = FrmChat.Win(Ind).LocalHostName & ": " & TxtEnviar.Text & " - "
FrmChat.Win(Ind).SendData enviar
TxtEnviar.Text = ""
TxtRecibir.Text = enviar
End Sub

*************** modulo *************************

Option Explicit
Public Ind As Integer

Sub AbrirArchivoYConectar()
Dim Contenido As String
Dim X As Integer
Dim Contenido2 As String
Dim VecDirec() As String
Open App.Path & "\direcciones.dat" For Input As #1
Do While Not EOF(1)
Line Input #1, Contenido2
If Len(Contenido2) > 0 Then Contenido = Contenido + Contenido2 & ";"
Loop
Close #1
VecDirec = Split(Contenido, ";")
With FrmChat
For X = 0 To UBound(VecDirec) - 1
Ind = Ind + 1
Load .Win(Ind)
.Win(Ind).RemotePort = 888
.Win(Ind).RemoteHost = VecDirec(X)
If Not .Win(0).State = sckClosed Then .Win(0).Close
.Win(Ind).Connect
Next
End With
End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:26.