HttpServer problem [solved]

Discussion in 'Android Questions' started by sirjo66, Jul 13, 2013.

  1. sirjo66

    sirjo66 Well-Known Member Licensed User

    Hello,

    I'm using "HttpServer" program on my Android but I have same problems :sign0085:

    Sometimes it is very very slow to answer, and sometimes it don't answer :BangHead:

    I try some times on my PC browser, but it don't answer, so, on Android, I run "internet browser" and it work again !!

    May be a wifi stand-by ??
    I have setting "Keep Wi-fi on during sleep" to "Always" (as explain here Set Wi-Fi sleep policy to "Never" – User Central for MightyText ) but the problem is the same :-(

    How can I solve it ??

    Thanks
    Sergio
     
  2. Erel

    Erel Administrator Staff Member Licensed User

    Try to acquire a partial lock (PhoneWakeState) and also call Service.StartForeground.
     
  3. sirjo66

    sirjo66 Well-Known Member Licensed User

    Hello Erel and thanks for your reply, but I am a newbie and I don't understand what you write :-(

    Can you explain me better ??

    I have found also this code, may be a solution ??

    Code:
    import android.net.wifi.WifiManager;
    import android.net.wifi.WifiManager.WifiLock;

    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiLock 
    lock = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL, "LockTag");
    lock.acquire();
    Thanks !!
    Sergio
     
  4. Erel

    Erel Administrator Staff Member Licensed User

  5. JakeBullet70

    JakeBullet70 Well-Known Member Licensed User

    I had a similar problem and for me it was WiFi standby. It did not respect the policy that had been set.
    I used this library 'ToggleWifiData' to fix it.
     
    Last edited: Jul 15, 2013
  6. sirjo66

    sirjo66 Well-Known Member Licensed User

    Many thanks !
    I have take a look on 'ToggleWifiData' but I find only a function for active/deactive wifi connection, and I don't understand what I need to use.

    My wifi is always active.

    Sergio
     
  7. JakeBullet70

    JakeBullet70 Well-Known Member Licensed User

    You need to try Erel's idea's first. If you are doing these things then I would check the WiFi.

    I have a timer that fires every minute and checks the status of the wifi.
    Here is my code.

    Code:
    Public Sub CheckWifI
       
    Dim oo As ServerSocket, IP As String = oo.GetMyWifiIP
       
    Log("Checking IP: " & IP)
       
    If IP = "127.0.0.1" Then
          
    ToastMessageShow("Network Disconnected...",True)
          
    '--- wifi is OFF
          TurnWiFiOn
       
    End If
    End Sub


    Public Sub TurnWiFiOn
       
    Dim myWIFI_Test As ToggleWifiData : myWIFI_Test.Initialize
       
    Dim WIFIstatus As Boolean = myWIFI_Test.isWIFI_enabled
       
       
    Dim s As String = "Status of WIFI = " & WIFIstatus &  " --> Will now toggle WIFI..." 
       
    ToastMessageShow(s,True)
       LogWrite(s,g.ID_LOG_INFO)
       
       myWIFI_Test.toggleWIFI
       
    End Sub
    For some reason my Wifi shuts off a few times every hour.

    But check what Erel said first.
     
  8. sirjo66

    sirjo66 Well-Known Member Licensed User

    I have changed this routine:

    Code:
    Sub Service_Create

       
    server.Initialize("Server")
       
    server.Start(port)
       
    'templates.Initialize
       Dim n As Notification
       n.Initialize
       n.Icon = 
    "icon"
       n.SetInfo(
    "SendSMS attivo""", Main)
       
    Service.StartForeground(1, n)
       
       
    Dim oo As PhoneWakeState 
       oo.PartialLock 
       
    End Sub
    When the program start it runs, if I call the page after 1 minutes it works, but if I wait an half of hour it don't works and don't answer to me :sign0148:

    Sergio
     
  9. JakeBullet70

    JakeBullet70 Well-Known Member Licensed User

    Your code looks right,
    I would add a timer and check to see if the IP resets back to 127.0.0.1

    Anybody else have any ideas?
     
  10. Erel

    Erel Administrator Staff Member Licensed User

    Try to add the wifi lock as well. This example is done in an Activity. It should be simple to use it from a service instead:
    Manifest editor:
    Code:
    AddPermission(android.permission.WAKE_LOCK)
    Code:
    Sub Process_Globals
       
    Private wifilock As Object
    End Sub

    Sub Globals

    End Sub

    Sub Activity_Create(FirstTime As Boolean)
       
    If FirstTime Then
          
    Dim r As Reflector
          r.Target = r.GetContext
          r.Target = r.RunMethod2(
    "getSystemService""wifi""java.lang.String")
          wifilock = r.RunMethod4(
    "createWifiLock"Array As Object(1"locktag"), _
             
    Array As String("java.lang.int""java.lang.String"))
       
    End If
    End Sub

    Sub AcquireLock
       
    Dim r As Reflector
       r.Target = wifilock
       r.RunMethod(
    "acquire")
    End Sub

    Sub ReleaseLock
       
    Dim r As Reflector
       r.Target = wifilock
       r.RunMethod(
    "release")
    End Sub

    Sub Activity_Resume
       AcquireLock
    End Sub

    Sub Activity_Pause (UserClosed As Boolean)
       ReleaseLock
    End Sub
     
    JakeBullet70 and Peter Simpson like this.
  11. sirjo66

    sirjo66 Well-Known Member Licensed User

Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice