Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2018, 20:19   #1
Homii
Новичок
Джуниор
 
Регистрация: 22.04.2018
Сообщений: 1
По умолчанию связь kivy (textinput) с клиентом

В общем есть кнопка kivy Text Input и готовый демо клиент. Не могу понять,сообщения с клиента в сервер приходили в окно приложения в этой кнопке TextInput.

Клиент:
Код:
import socket, threading, time

key = 8194

shutdown = False
join = False

def receving (name, sock):
	while not shutdown:
		try:
			while True:
				data, addr = sock.recvfrom(1024)
				#print(data.decode("utf-8"))

				# Begin
				decrypt = ""; k = False
				for i in data.decode("utf-8"):
					if i == ":":
						k = True
						decrypt += i
					elif k == False or i == " ":
						decrypt += i
					else:
						decrypt += chr(ord(i)^key)
				print(decrypt)
				# End

				time.sleep(0.2)
		except:
			pass
host = socket.gethostbyname(socket.gethostname())
port = 0

server = ("169.254.254.28",9090)

s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind((host,port))
s.setblocking(0)

alias = input("Name: ")

rT = threading.Thread(target = receving, args = ("RecvThread",s))
rT.start()

while shutdown == False:
	if join == False:
		s.sendto(("["+alias + "] => join chat ").encode("utf-8"),server)
		join = True
	else:
		try:
			message = input()

			# Begin
			crypt = ""
			for i in message:
				crypt += chr(ord(i)^key)
			message = crypt
			# End

			if message != "":
				s.sendto(("["+alias + "] :: "+message).encode("utf-8"),server)
			
			time.sleep(0.2)
		except:
			s.sendto(("["+alias + "] <= left chat ").encode("utf-8"),server)
			shutdown = True

rT.join()
s.close()
Киви приложение с кнопкой ТехInpute
Код:

from kivy.app import App
from kivy.lang import Builder
from kivy.config import Config
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import *
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput

from kivy.uix.image import Image
import sys


class Program_App(App):
    #def btn_start(self, instance):
        #instance.text='dfdfkdlkflkdf'
        #print ('121212')
    def ss_chat(self):
        self.ss_c = open('client.py', r)


    def build(self):
        self.title='We'
        Basic=BoxLayout(orientation='vertical')

        Up_Panel=BoxLayout(orientation='horizontal', size_hint=[1,.08],
                           padding=[0,0,0,0])
        Up_Panel.add_widget(Image(source='picture\ITx_logo.png'))
        Up_Panel.add_widget(Button(text='Setting', font_size = 11,
                                   background_color= [0, 0, 0, 0]))
        Up_Panel.add_widget(Button(text='Music', font_size = 11,
                                   background_color=[0, 0, 0, 0]))
        Up_Panel.add_widget(Button(text='#WE on',
                                   background_color= [25, 0, 0, 1],
                                   font_size = 11))
        Up_Panel.add_widget(Button(text='Messenge', font_size = 11,
                                   background_color=[0, 0, 0, 0]))
        Down = BoxLayout(orientation='horizontal') # пространство чата
        Down.add_widget(TextInput(text = 'fdfdfdf',
                                  background_color= [1, 1, 1, 1],))

        Av= BoxLayout(orientation='horizontal', size_hint=[1,.2])
        Av.add_widget(Button(text='AVA'))
        Av.add_widget(Button(text='FOTO'))
        Av.add_widget(Button(text='FOTO'))
        Av.add_widget(Button(text='FOTO'))

        Basic.add_widget(Up_Panel)
        Basic.add_widget(Down)
        Basic.add_widget(Av)
        return Basic

if __name__ in ('__main__','__android__'):
    Config.set('graphics', 'resizable', '0')
    Config.set('graphics', 'width', '288')
    Config.set('graphics', 'height', '512')
    Program_App().run()
Homii вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со сервером и клиентом aydaxo Работа с сетью в Delphi 0 10.12.2015 09:31
кто может помочь? c клиентом Joni001 Помощь студентам 11 15.08.2012 13:08
работа с почтовым клиентом в делфях alice1505 Помощь студентам 1 22.04.2011 11:09
Работа с отдельным клиентом Rapala Работа с сетью в Delphi 10 31.03.2010 17:29
Трабл с торрент-клиентом Ногин Антон Операционные системы общие вопросы 2 01.01.2010 22:29