• Domingo 22 de Diciembre de 2024, 18:26

Autor Tema:  Re: control winsock  (Leído 1640 veces)

AORGHL

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: control winsock
« en: Sábado 5 de Julio de 2003, 20:57 »
0
hola estoy intentando hacer un programa para poder apagar/reiniciar otros ordenadores conectados a la red e hecho dos programas uno cliente y otro servidor en el cliente he puesto este codigo:

Private Sub Command1_Click()
tcpClient.SendData "REINICIAR"
End Sub


Private Sub Form_Load()
tcpClient.RemoteHost = "xxx.xxx.xxx.xxx"
tcpClient.RemotePort = 1001
End Sub

Private Sub cmdConnect_Click()
tcpClient.Connect
End Sub

al ejecutarlo y darle al command1_Click me sale este error:

"error 4006"
"protocolo o estado de conexion erroneo para la transaccion o peticion solicitada"

y en el servidor he puesto :

Private Sub Form_Load()
tcpServer.LocalPort = 1001
tcpServer.Listen
End Sub

Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)

If tcpServer.State <> sckClosed Then _
tcpServer.Close
tcpServer.Accept requestID
End Sub


Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim data As String
tcpServer.GetData data, vbString
Select Case data
Case Is = "REINICIAR"
        Dim lReiniciar As Long
        lReiniciar = ExitWindowsEx(EWX_REBOOT & EWX_FORCE, 0&)
        End Select
End Sub

con un modulo que he puesto esto otro:

Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1
Public Const EWX_FORCE = 4

la verdad es que estoy muy trabado si alguien me podria hechar una mano se lo agradeceria muchisimo

HurryCrack

  • Miembro MUY activo
  • ***
  • Mensajes: 206
    • Ver Perfil
Re: control winsock
« Respuesta #1 en: Domingo 6 de Julio de 2003, 16:08 »
0
Hola colega, si miras por el foro con mi nick encontraras todo lo ke necesitas sobre el control Winsock, de todas formas he creido ver un fallo a bote pronto ke es el ke no le dices ke tipo de conexion estas efectuando y ke deberia ser TCP-IP, cuando haces el tcpXXXXX.Close despues debes indicarle el tipo de protocolo ke debe ser el anterior. Fale? unsaludo
:hippi:

AORGHL

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
control winsock
« Respuesta #2 en: Domingo 6 de Julio de 2003, 19:13 »
0
Gracias HurryCrack por fin lo he conseguido, bueno no reinicia sino cierra la sesion pero bueno eso es muy facil con cambiarle la API ya esta, dejo el programa ya terminado por si alguien quiere mejorarlo y por si a alguien le sirve de ayuda.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.