I created an application that communicates with the server. I used socket module for connecting it to the server. Code works properly when I run it on my computer, but it doesn't connect to the server when I run it on mobile. Following is a snippet of the client code.
from
kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager
from kivy.core.window import Window
from kivy.clock import Clock
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.uix.label import MDLabel
from kivymd.uix.screen import Screen
from kivymd.uix.dialog import MDDialog
from kivymd.toast import toast
from kivymd.uix.button import MDFlatButton,MDRaisedButton
from kivy.utils import platform
from socket import *
import random
if(platform=='android'):
from android.permissions import Permission,request_permissions
class FarmerApp(MDApp):
def build(self):
#self.theme_cls.primary_palette='Teal'
self.t1=Builder.load_string(string1)
return self.t1
def on_start(self):
global UserID
if(platform=='android'):
request_permissions([Permission.INTERNET,Permission.READ_EXTERNAL_STORAGE])
self.c=socket(AF_INET,SOCK_STREAM)
f=open('App_config.txt','a+')
f.seek(0)
l=f.readlines()
f.close()
if(l==[]):
msg='Anonymous'+str(random.randint(1,10000000000))
UserID=msg
else:
UserID=l[0].strip()
msg="ID:"+l[0].strip()
self.screenChanger('login','home','left')
self.t1.get_screen('home').ids['nav_user_text'].text=l[1]
try:
self.c.connect(('192.168.0.6',5535))
except Exception:
self.showDialog("Couldn't connect to server at the moment. Try again later")
else:
self.c.send(bytes(msg,'utf-8'))
def on_stop(self):
try:
self.c.send(bytes(UserID+':exit',"utf-8"))
except Exception:
pass
self.c.close()
I have included permissions in buildozer.spec file too.
Please guide me with this. A help from your side will help me to complete my project.
Rohan Khedekar.