【问题标题】:Kivy and XML RPCKivy 和 XML RPC
【发布时间】:2013-06-25 15:53:06
【问题描述】:

我一直在尝试在 kivy GUI 模块(我的服务器)和另一个 python 模块(我的客户端)之间执行通信。但到目前为止,我在运行 xml rpc 服务器和 GUI run() 函数时遇到了问题。即使在线程中运行我的服务器后,我仍然遇到这个问题。 我希望有人对如何修复我的代码,或者只是如何将 xml-rpc 与 kivy 一起提出建议。

这是我的代码:

import kivy

kivy.require('1.7.1')

from kivy.lang import Builder

from kivy.uix.gridlayout import GridLayout

from kivy.app import App

from threading import Thread

from kivy.clock import Clock

Builder.load_file('kivy_gui.kv')

class RoamClientInterface(GridLayout):

    """
    Sets up connection with XMLRPC server

    """

    move = False

    """
    driveForward() -> Moves robot forward
    """

    def driveForward(self):
        self.move = True

    """
    stop() -> stops robot from moving
    """

    def stop(self):
        self.move = False

    def returnBool(self):
        return self.move

class ClientInterface(App):

    def build(self):
        return RoamClientInterface()

    def sendCommands(dt):

        print "start"
        print ""
        from SimpleXMLRPCServer import SimpleXMLRPCServer
        server = SimpleXMLRPCServer(("localhost", 5000))
        print "initialize server"
        print ""
        server.register_instance(RoamClientInterface())
        print "register instance"
        print ""
        # while True:

        try:
            print "try handle request"
            print ""
            server.handle_request()
            print "print handle request"
            print ""
        except KeyboardInterrupt:
            import sys
            sys.exit()

if __name__ == '__main__':
    serverThread = Thread(target=sendCommands(4))
    serverThread.start()
   # Clock.schedule_once(sendCommands)
    ClientInterface().run()

【问题讨论】:

    标签: python user-interface xml-rpc kivy


    【解决方案1】:

    我必须解决问题。 实际上有必要将其放入 RoamClientInterface 内部以使其工作,而不是像上面那样将其放入我的 main 函数中。 如果有人需要帮助,我可以提供更多详细信息(显示代码)

    【讨论】:

    • 感谢您回答您自己的问题!它有助于使堆栈溢出成为一个很棒的地方:)
    猜你喜欢
    • 2010-12-07
    • 2011-08-17
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多