【发布时间】:2017-12-14 02:40:50
【问题描述】:
当 JSON 字符串发送到服务器时,我很难完全理解 TCP 服务器/客户端关系的性质。我需要的信息可能在那里,但我可能没有使用正确的搜索参数。
我通过以下示例构建了一个 Python TCP、JSON-RPC 服务器:
- https://github.com/joshmarshall/jsonrpclib
- http://code.activestate.com/recipes/552751-json-rpc-server-and-client/
在这两种情况下,我都可以从另一台计算机上的 Python 控制台与 Python 服务器通信,将命令从一台(客户端)发送到另一台(服务器)。在所有示例中,我都必须在客户端和服务器机器上安装上述库以促进 TCP 通信。
所以我的情况和问题的背景是,JSON 什么时候进入组合?这就是我想做的:
设置一个 Python TCP 服务器,它接受来自网络内部(或外部)远程客户端的 JSON 字符串。服务器解析 JSON 字符串,从对象化字符串中获取方法和参数,并执行方法。然后,服务器将 JSON 字符串结果发送到调用客户端。在这种情况下,客户端是一个带有 JavaScript 库的移动应用程序(iPad、Android 等),我将使用该库将请求发送到服务器。
为什么我需要 Python 客户端?据我所知,客户端只需要打开与服务器的连接,然后发送 JSON 字符串,对吗?为什么所有代码示例都包含 Python 客户端示例?他们是否假设服务器机器将与服务器机器通信,所以他们已经包含客户端代码来帮助生成将发送到服务器的 JSON 字符串?
如果我假设任何事情都不需要 Python 客户端,我一直在从 iPad 向 Python 服务器发送 JSON 字符串,但在每种情况下,服务器都报告“请求语法错误”错误。如果我正确理解当前问题,我将就该问题提出一个新问题。
感谢您的洞察力。
【问题讨论】:
标签: python json client tcpserver