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