Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Цитата:
или другие варианты решения проблеммы
Когда то давно, я для своего модема-роутера Callisto 821+ набросал такое, перегружается (при необходимости) до сих пор, хотя функцию можно оформить более професионально, но это уже вам решить, так же вам нужно заточить данную функцию для своего модема:
читать дальше »
Код: Выделить весь код
MsgBox(64,"Message", _RestartModem(), 5)

Func _RestartModem() ;для модема-роутера Callisto 821+
Local $RouterLogin = "qe1dg7bm"
Local $RouterPass = "qa6yo9km"
Local $Router_IP = "192.168.1.1"
Local $Port = 23
Local  $Recv
Local $errorkod=-1
Local $ConnectedSocket = -1

TCPStartup()

$ConnectedSocket = TCPConnect($Router_IP , $Port)
If $ConnectedSocket = -1 Then 
    $errorkod= "0"
    Return $errorkod
EndIf
; Message Loop
;==========
While 1
Sleep(50)        
;
$Recv= TCPRecv( $ConnectedSocket, 2048)
If @error Then 
   $errorkod= "2"
    ExitLoop
    EndIf
; 
If $Recv <> "" Then
Switch $recv
    Case  StringInStr($Recv,"Login failed")>0 
        $errorkod= "6"
        ExitLoop
    Case StringRight($Recv,7)= "Login: "
        TCPSend( $ConnectedSocket , $RouterLogin & @CRLF)
        If @ERROR Then 
           $errorkod= "3"
           ExitLoop
        EndIf
     Case StringRight($Recv, 10)="Password: " 
        TCPSend( $ConnectedSocket , $RouterPass & @CRLF)
        If @ERROR Then 
           $errorkod= "4"
           ExitLoop
        EndIf
    Case StringInStr($Recv,"Login successful")>0
        TCPSend( $ConnectedSocket , "system restart" & @CRLF)
         If @ERROR Then 
           $errorkod= "5"
           ExitLoop
        EndIf
    Case StringLeft($Recv,1)=="s"
        TCPSend( $ConnectedSocket , "user logout" & @CRLF)
           $errorkod= "Модем перезагружается"
           ExitLoop
    Case  StringInStr($Recv,"Logging out")>0
         $errorkod= "Модем перезагружается"
        ExitLoop
EndSwitch 
EndIf
$Recv=''
WEnd
; End Message Loop
;============
If $ConnectedSocket <> - 1 Then TCPCloseSocket($ConnectedSocket)
TCPShutdown()

if $errorkod<> "Модем перезагружается" then 
    Return  "Не удалось перезагрузить модем. Код ошибки: "&$errorkod
else
    Return "Модем перезагружается"
endif
EndFunc ;_RestartModem

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:30, 26-11-2011 | #2