elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  duda control winsock
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda control winsock  (Leído 2,074 veces)
peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
duda control winsock
« en: 30 Noviembre 2008, 23:07 pm »

buenas e echo un programa para transferir archivos ente pc´s pero el problema es que salta error y no se porque no se si sera cosa del router o del programa... alguna idea para solucionarlo

si quieren mas info solo pregunten les doy todo lo que quieran.. incluido el source..


Gracias & Salu2


En línea

rdzlcs


Desconectado Desconectado

Mensajes: 784


El cerebro, la experiencia y una pizca de suerte.


Ver Perfil
Re: duda control winsock
« Respuesta #1 en: 30 Noviembre 2008, 23:10 pm »

Pues seria util saver la clase de error que tira, o si muertras el code mucho mejor...

SAludos


En línea

peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: duda control winsock
« Respuesta #2 en: 1 Diciembre 2008, 18:35 pm »

o si muertras el code mucho mejor...

Código:
Option Explicit
 Private Declare Function GetFileTitle _
   Lib "comdlg32.dll" _
   Alias "GetFileTitleA" ( _
   ByVal lpszFile As String, _
   ByVal lpszTitle As String, _
   ByVal cbBuf As Integer) As Integer
 Dim Flag As Boolean
 Dim lBytes As Long
 Dim lFileSize As Long
  Private Sub Form_Load()
     txtIP = "127.0.0.1"
     txtIP.Enabled = False
     txtPuerto = "3000"
     txtPuerto.Enabled = False
     txtArchivo.Enabled = False
     cmdBuscar.Enabled = False
     cmdEnviar.Enabled = False
     cmdCambiar.Enabled = False
     cmdConectar.Enabled = False
     cmdEscuchar.Enabled = False
       
 End Sub
Private Sub cmdSalir_Click()
End
End Sub

 Private Sub cmdCliente_Click()
     txtIP = "127.0.0.1"
     txtIP.Enabled = False
     txtPuerto = "3000"
     txtPuerto.Enabled = False
     txtArchivo = ""
     txtArchivo.Enabled = True
     cmdBuscar.Enabled = True
     cmdEnviar.Enabled = False
     cmdCambiar.Enabled = True
     cmdConectar.Enabled = True
     cmdEscuchar.Enabled = False
     Me.Caption = "Cliente"
 End Sub
 Private Sub cmdConectar_Click()
     On Error Resume Next
 
     Winsock1.Connect txtIP, txtPuerto
     cmdConectar.Enabled = False
   End Sub

 Private Sub cmdEnviar_Click()
  Dim sFileName As String

  If Trim(txtArchivo) = "" Then
  MsgBox "Debe elegir un archivo"
  Exit Sub
   End If
  If Dir(txtArchivo) <> "" Then
    sFileName = GetFileName(txtArchivo)

   Winsock1.SendData "|Archivo|" & FileLen(txtArchivo) & "|" & sFileName
 Else
    MsgBox "El archivo no existe"
  End If
  End Sub
    Private Sub cmdBuscar_Click()
   With CommonDialog1
        .FileName = vbNullString
        .ShowOpen
        If .FileName <> "" Then
           txtArchivo = .FileName
           cmdEnviar.Enabled = True
        End If
     End With
 End Sub
Private Sub cmdCambiar_click()
 txtIP.Enabled = True
 txtPuerto.Enabled = True
End Sub

  Private Sub Winsock1_Close()
     On Error Resume Next
     cmdConectar.Enabled = True
     cmdEnviar.Enabled = False
   
     Winsock1.Close
     MsgBox "La Conexion se ha cerradado", vbInformation
     txtIP.Enabled = False
     txtPuerto.Enabled = False
     txtArchivo.Enabled = False
     cmdBuscar.Enabled = False
     cmdEnviar.Enabled = False
     cmdCambiar.Enabled = False
     cmdConectar.Enabled = False
     cmdEscuchar.Enabled = False
 End Sub

 Private Sub Winsock1_Connect()
     cmdConectar.Enabled = False
     cmdEnviar.Enabled = True
     MsgBox "Conectado correctamente al servidor"
  End Sub

 Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
     Dim sData As String
     Winsock1.GetData sData, vbString
     If sData = "|Ok|" Then Call Enviar_Archivo
 End Sub
 
  Private Sub Winsock1_Error( _
    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)
      On Error Resume Next
      cmdConectar.Enabled = True
      cmdEnviar.Enabled = False
      Winsock1.Close
     MsgBox "Error al cerrar la conexion"
 End Sub

  Private Sub Enviar_Archivo()
      Dim Size As Long
     Dim arrData() As Byte
      Open txtArchivo For Binary Access Read As #1
       Size = LOF(1)
      ReDim arrData(Size - 1)
     Get #1, , arrData
        Close
         Winsock1.SendData arrData
  End Sub

  Private Function GetFileName(sPath As String)
     Dim sBuffer     As String * 255
      Dim sTemp       As String
      GetFileTitle sPath, sBuffer, Len(sBuffer)
     GetFileName = Left(sBuffer, InStr(1, sBuffer, Chr(0)) - 1)
 End Function

 Private Sub cmdServidor_Click()
     txtIP = ""
     txtIP.Enabled = False
     txtPuerto = "3000"
     txtPuerto.Enabled = False
     txtArchivo = ""
     txtArchivo.Enabled = False
     cmdBuscar.Enabled = False
     cmdEnviar.Enabled = False
     cmdCambiar.Enabled = True
     cmdConectar.Enabled = False
     cmdEscuchar.Enabled = True
     Me.Caption = "servidor"
    End Sub

     
   Private Sub cmdEscuchar_Click()
     On Error GoTo error_handler
     With Winsock2

         .LocalPort = txtPuerto

         .Listen
     End With
     cmdEscuchar.Enabled = False
     Exit Sub
error_handler:
     MsgBox Err.Description
 End Sub


 Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
     On Error GoTo error_handler

     cmdEscuchar.Enabled = False
     With Winsock2
   
        .Close
         .Accept requestID
     End With

     MsgBox "Conexion recibida"
      Exit Sub
error_handler:
      MsgBox Err.Description, vbCritical, "Winsock2_ConnectionRequest"
  End Sub
 
   Private Sub Winsock2_Close()
     On Error GoTo error_handler
 
     cmdEscuchar.Enabled = True
    Winsock2.Close

      MsgBox "Conexion cerrada"
     Exit Sub
error_handler:
 MsgBox Err.Description, vbCritical, "Winsock_Close"
 End Sub

 Private Sub Winsock2_Connect()
     MsgBox "Conexion aceptada", vbInformation
 End Sub


 Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)

      Dim arrData()   As Byte
     Dim vData       As Variant

     If Flag = False Then
          Winsock2.GetData vData, vbString
         If Mid(vData, 1, 9) = "|Archivo|" Then
              Flag = True
             lBytes = 0
            vData = Split(vData, "|")
              lFileSize = vData(2)

           Winsock2.SendData "|Ok|"

 
             Open App.Path & "\" & vData(3) For Binary Access Write As #1
        End If
    End If
 
     If Flag Then

         lBytes = lBytes + bytesTotal

          Winsock2.GetData arrData
 

           Put #1, , arrData

          If lBytes >= lFileSize Then
         
             Close #1
         
             Flag = False
             lBytes = 0
             
              MsgBox "El archivo se ha recibido por completo"
        End If
   End If


 End Sub


 Private Sub Winsock2_Error( _
     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)

     On Error Resume Next

    cmdEscuchar.Enabled = True
 
     Winsock2.Close

     MsgBox "La Conexion se ha cerrado", vbInformation
 End Sub
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: duda control winsock
« Respuesta #3 en: 1 Diciembre 2008, 21:59 pm »

Podrías especificar en que linea te arroja el error?  :-\
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: duda control winsock
« Respuesta #4 en: 1 Diciembre 2008, 23:05 pm »

Lo probé junto a él y no es que de error en el código, es que salta una ventana diciendo que no se puede conectar. Probamos con un puerto y conectó, pero desconectó al instante.
En línea

peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: duda control winsock
« Respuesta #5 en: 2 Diciembre 2008, 18:42 pm »

exacto lo qeu dice ADN y no sabemos por qeu pensamos que es cosa del router o firewall del mismo pero nosabemos... alguien que arroje algo de inspiracion???


Salu2
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: duda control winsock
« Respuesta #6 en: 2 Diciembre 2008, 20:55 pm »

Lo probé junto a él y no es que de error en el código, es que salta una ventana diciendo que no se puede conectar. Probamos con un puerto y conectó, pero desconectó al instante.

Al momento de desconectar arroja un mensaje?

Pues no creo que sea por el code.
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: duda control winsock
« Respuesta #7 en: 2 Diciembre 2008, 21:03 pm »

Probamos con diferentes puertos y no iba ninguno, ni siquiera mostraba nada. Luego probamos con el 21, y después de conectar (aparecía un mensaje confirmándolo) se desconectaba repentinamente (avisando con otro mensaje).
En línea

peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: duda control winsock
« Respuesta #8 en: 6 Diciembre 2008, 01:48 am »

entonces nadie sabe como solucionarlo???  :( :( :-( :-( :-(


Salu2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines