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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


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

Desconectado Desconectado

Mensajes: 163



Ver Perfil
problemas con winsock1
« en: 13 Enero 2009, 14:28 pm »

hola
e tenido problemas ultimamente con el winsoc1 de vb el cliente se conecta perfectamente al servidor pero cuando hago la  siguiiente hacion el server no responde
cliente  ejemplo
(cmd8)
dim dat
dat =  File1.Path & "\" & File1.FileName

winsock1.sendata  "t#" & dat

haora viene el problema
servidor :-X

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos

Select Case datos
Case "t#"

Kill (datos)

End Select
end sub

el sevidor no responde a la acion no lo borra al archivo selecionado 


si me podria ayudar




En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: problemas con winsock1
« Respuesta #1 en: 13 Enero 2009, 14:46 pm »

Hola, lo que llega no es "t#" sino "t#" & dat,por eso nom debe entrar en el select case... proba decirle que si en la cadena encuentra el t# que haga eso...o sea usa InStr...

PD:Hombre este problema se soluciona en 1 segundo si sabes debuggerar el codigo fuente...fijate que valor tiene datos y listo...

saludos.


En línea

rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
Re: problemas con winsock1
« Respuesta #2 en: 13 Enero 2009, 15:40 pm »

a ok de la forma q me decis seria haci
servidor  :huh:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos

Select Case datos                        'no funca  :-( :-(
Case "t#" &dat

Kill (datos)

End Select
end sub

e provado de otra forma
-----------------------------------------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Tempdata As String
 Winsock1.GetData Tempdata
    Select Case Left(Tempdata, 10)
     Case "1#" &dat                'no funca
       Tempdata = Mid(Tempdata, 11, Len(Tempdata))
kill  Tempdata

 End Select
 o otra forma
---------------------------------------------------------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Tempdata As String
 Winsock1.GetData Tempdata
    Select Case Left(Tempdata, 10)             'tampoco funca
     Case "1#"
       Tempdata = Mid(Tempdata, 11, Len(Tempdata))
  kill    Tempdata

 End Select
 me lo podrias hacer un ejemplo y subirlo a megaunload o donde quieras   ;D
saludos
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: problemas con winsock1
« Respuesta #3 en: 13 Enero 2009, 16:18 pm »

Hay varias formas de hacerlo, lo que sucede es que no sigues el flujo de los datos, como te dicen, el valor que toma la variable "Datos" a la hora de hacer el selec case.

Código
  1. Dim Datos$
  2.    'Cuando el servidor lo recibe, este es el supuesto valor que toma la variable Datos
  3.    Datos = "t#c:\...\archivo.extensión"
  4.    Select Case Mid(Datos, 1, 2)
  5.        Case "t#"
  6.            Debug.Print Mid(Datos, 3)
  7.    End Select

La forma que apliques dependera de si "t#" es un indicador o no y los diferentes casos que se te puedan ocurrir.
Código:
http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico5.htm#left-mid-right
En línea

rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
Re: problemas con winsock1
« Respuesta #4 en: 13 Enero 2009, 17:25 pm »

aun haci sigo sin entender  :rolleyes:
toy un poco mariado jajaj
seria haci
cliente :
winsock1.sendata "t#" &text1.text

server
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
dim data1 as string
winsock1.getdata dato
DoEvents
Select Case Mid(data1, 1, 10)
case "t#"
 MsgBox Mid(data1, 11, Len(data1))
end select
end sub
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: problemas con winsock1
« Respuesta #5 en: 13 Enero 2009, 18:05 pm »

Citar
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
dim data1 as string     --> o.O
winsock1.getdata dato --> ????????
DoEvents
Select Case Mid(data1, 1, 10)
case "t#"
 MsgBox Mid(data1, 11, Len(data1))
end select
end sub

data1 o dato  :huh:, no es lo mismo.  :-\
En línea

vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
Re: problemas con winsock1
« Respuesta #6 en: 13 Enero 2009, 20:44 pm »

ayy q manera de complicarse la vida xD

Código
  1. dim dat
  2. dat =  File1.Path & "\" & File1.FileName
  3.  
  4. winsock1.sendata  "t#" & dat
  5.  

haora viene el problema
servidor

Código
  1. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  2. Dim datos As String
  3. Winsock1.GetData datos
  4.  
  5. Select Case datos
  6. Case "t#"
  7.  
  8. Kill (datos)
  9.  
  10. End Select
  11. end sub
  12.  
  13.  

el problema ahi es lo q te explico seba...

vos estas mandando esto por ejemplo: t#C:\Archivo.txt

pero cuanod esto llega al cliente, nunca entra en el case... x datos es igual a t#C:\Archivo.txt y no a t#

lo q podes hacer ahora es esto... sin modificar el servidor, solamente cambiar a esto en el cliente

Código
  1. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  2. Dim datos As String
  3. Winsock1.GetData datos
  4.  
  5. Select Case Left(datos,2)
  6. Case "t#"
  7.  
  8. Kill (Right(datos, Len(datos) - 2)
  9.  
  10. End Select
  11. end sub
  12.  
  13.  

----------------------
ahora:
Citar
Select Case datos                        'no funca   
Case "t#" &dat

eso no funca xq
Citar
"t#" &dat
&dat = Null... no es nada.. nunca declaraste nada con dat...

---------------------
desp lo q puso Cassiani esta bien... es mas o menos lo q te explique yo mas arriba...

y despues lo q volviste a publicar

Código
  1. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  2. dim data1 as string
  3. winsock1.getdata dato
  4. DoEvents
  5. Select Case Mid(data1, 1, 10)
  6. case "t#"
  7. MsgBox Mid(data1, 11, Len(data1))
  8. end select
  9. end sub

esta mal xq vos declaras la variable
Código
  1. data1
pero desp llamas para q reciba los datos a
Código
  1. dato
y finalmente lees nuevamente la primer variable q nunca modificaste (solo la declaraste)

bue espero q hayas entendido... estoy al dope x eso me puse a explicar un poco este lio q se armo xD..

SALUDOS
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: problemas con winsock1
« Respuesta #7 en: 14 Enero 2009, 00:20 am »

Algo que se me escapo,
Citar
Select Case Mid(data1, 1, 10)

Si haces eso extraerás 10 caracteres (donde se marca en rojo, es el número de caracteres a extraer) y a la hora de hacer la comparación, no entrara al case que colocas porque la cadena de condición solo tiene dos caracteres. ¿Me explico?

Ese enlace que te había colocado es para que lo leas, hay te explican muy bien el uso de esas funciones, lo demás es lógica.

Saludos
En línea

rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
Re: problemas con winsock1
« Respuesta #8 en: 14 Enero 2009, 01:42 am »


vivachapas esta forma
Citar
Código
  1. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  2.  
  3. Dim datos As String
  4. Winsock1.GetData datos
  5.  
  6. Select Case Left(datos, 2)
  7. Case "t#"
  8. Kill (Right(datos, Len(datos)) - 2)
  9.  
  10. End Select
  11. end sub
         

me dise error:
run-time error "13":
type mismatch

y me señala esto
Kill (Right(datos, Len(datos)) - 2)





toy mas perdido q tarzan en el centro  :rolleyes:
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: problemas con winsock1
« Respuesta #9 en: 14 Enero 2009, 02:06 am »

el -2 esta fuera del parentesis...
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

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