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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


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

Desconectado Desconectado

Mensajes: 77



Ver Perfil
Ayuda con Winsock
« en: 4 Febrero 2010, 21:11 pm »

Tengo un problema, yo estaba haciendo un programita que le envie a mi NOTBUK que teclas estoy apretando (Arriba,Abajo,Derecha,Izquierda) probé poniendo la IP de mi notbuk y no funciona. Después puse la ip de mi pc fija y tampoco anda y más tarde puse 127.0.0.1 y tampoco :S.

Les dejo los Codigos del cliente y Servidor:

CLIENTE:
Código
  1. Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vbkey As Long) As Integer
  2.  
  3. Private Sub Form_Load()
  4. With Winsock1
  5.        .Close
  6.        .RemoteHost = "127.0.0.1" ' También probe poniendo "localhost"
  7.        .RemotePort = "1660"
  8.        .Connect
  9.    End With
  10.  
  11.    Winsock1.SendData Label1
  12.  
  13. End Sub
  14.  
  15. Private Sub Timer1_timer()
  16.  
  17.  
  18.  
  19. Dim i As Integer
  20. '
  21. For i = 8 To 222
  22.  
  23. x = GetAsyncKeyState(i)
  24.  
  25. If x = -32767 Then
  26.  
  27. Select Case i
  28. Case vbKeyLeft: Label1.Caption = "Izquierda"
  29. Case vbKeyUp: Label1.Caption = "Arriba "
  30. Case vbKeyDown: Label1.Caption = "Abajo"
  31. Case vbKeyRight: Label1.Caption = "Derecha"
  32. End Select
  33.  
  34. End If
  35. Next
  36. End Sub
  37.  

SERVIDOR:
Código
  1. Private Sub Form_Load()
  2. With Winsock1
  3.        .Close
  4.        .LocalPort = "1660"
  5.        .Listen
  6.    End With
  7. End Sub
  8. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  9. Dim dat As String
  10.  
  11.    Winsock1.GetData dat, vbString
  12.    Label1 = dat & vbCrLf
  13.  
  14. End Sub

Espero que me puedan ayudar.


En línea

xmbeat92

Desconectado Desconectado

Mensajes: 40



Ver Perfil
Re: Ayuda con Winsock
« Respuesta #1 en: 5 Febrero 2010, 02:56 am »

If X <>  0  then ....

eso debe ser


En línea

El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein
Sm0kes

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Ayuda con Winsock
« Respuesta #2 en: 5 Febrero 2010, 04:31 am »

Donde kedo el winsock1.Accept requestID ???? como van a poder interactuar el cliente y el servidor
En línea

Nanoc

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Ayuda con Winsock
« Respuesta #3 en: 8 Febrero 2010, 22:06 pm »

Se ve muy claramente XD prueba con este codigo

Código:
Private Sub Timer1_timer()
 
Dim i As Integer
'
For i = 8 To 222
 
x = GetAsyncKeyState(i)
 
If x = -32767 Then
 
Select Case i
Case vbKeyLeft: Label1.Caption = "Izquierda"
Case vbKeyUp: Label1.Caption = "Arriba "
Case vbKeyDown: Label1.Caption = "Abajo"
Case vbKeyRight: Label1.Caption = "Derecha"
End Select
 
End If
Next
winsock1.senddata Label1.caption
End Sub

No tengo ni idea de como funciona esa api, pienso que te devuelve en la variable que le pasas un valor correspondiente a una tecla, pero entonces, para que pones el bucle??
En línea

xmbeat92

Desconectado Desconectado

Mensajes: 40



Ver Perfil
Re: Ayuda con Winsock
« Respuesta #4 en: 9 Febrero 2010, 15:58 pm »

cuando se invoca esta api,  se le pasa como argumento la tecla virtual para corroborar si esta presionada, en caso de que sea asi, te devuelve un valor (no se cual).
el bucle lo hace para ir probando tecla por tecla a ver si esta presionada.

en  mi opinion el interval del timer ponlo en 1

http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx
« Última modificación: 9 Febrero 2010, 16:00 pm por xmbeat92 » En línea

El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein
Nanoc

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Ayuda con Winsock
« Respuesta #5 en: 9 Febrero 2010, 21:52 pm »

Si la api funciona como dices tendras que comprobar el valor que retorna la api y si el valor indica que esa tecla esta presionada enviarlo por el socket
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