【发布时间】:2013-03-12 17:40:51
【问题描述】:
我有一个由本地“服务器”和 GUI 客户端组成的应用程序。服务器是用 Python 编写的,而 GUI 是可变的,并且是用 Flex 4 编写的。客户端查询本地服务器的信息并相应地显示它。这两个应用程序都应该在同一台计算机上运行,并且只能在本地进行通信。目前,客户端和Python服务器通过一个基本的socket进行通信,客户端向socket写入请求,socket返回一些数据。
但是,由于我正在编写一个桌面应用程序,我认为使用标准流而不是套接字的系统可能更容易维护和完善。服务器将持续监听raw_input(),并根据写入标准输入的任何内容进行输出,在这种情况下,客户端将使用AIR 的NativeProcess 类来读取和写入标准输出和标准输入,而不是使用套接字。
客户端和服务器是独立的进程,但应该或多或少同时启动。我真的不需要复杂的网络,只需要本地跨语言交流。
每种方法的优缺点是什么?使用套接字我会得到什么或失去什么,而使用标准流进行通信我会得到什么或失去什么?哪个效率更高?哪一个更容易维护?
【问题讨论】:
标签: python sockets air stdout stdin