Я создал APK с buildozer из main.py, а server.py работает на Raspberry Pi.Код работает нормально, и когда я нажимаю кнопку включения / выключения в приложении на моем телефоне, скрипт на малине печатает IP.
Когда я раскомментирую:
s.send(bytes('test', 'utf-8'))
... в main.py и:
msg = clientsocket.recv(1024)
print(msg.decode('utf-8'))
... в server.py, приложение вылетает, как только я нажимаю кнопку ON / OFF.Когда я запускаю main.py на моем компьютере, он работает просто отлично.
В чем здесь проблема?Я могу связно подключиться.Сервер принимает входящее соединение, но когда я пытаюсь что-то отправить, происходит сбой.
main.py
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen
import socket
class Main(App):
def build(self):
StartPage = GridLayout()
StartPage.cols = 1
text = Label(text='SwitchPi')
StartPage.add_widget(text)
button = Button(text='ON/OFF')
button.bind(on_press=self.btn)
StartPage.add_widget(button)
self.sm = ScreenManager()
screen = Screen(name='start')
screen.add_widget(StartPage)
self.sm.add_widget(screen)
return self.sm
def btn(self, instance):
ip = 'my ip address'
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 1234))
#s.send(bytes('test', 'utf-8'))
Main().run()
server.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 1234))
s.listen(5)
while True:
clientsocket, address = s.accept()
print(address)
#msg = clientsocket.recv(1024)
#print(msg.decode('utf-8'))