通过websocket发送Json

时间:2017-09-23 16:02:46

标签: javascript python json websocket

我有一个JavaScript客户端和Python龙卷风服务器。我来回传递Json格式字符串的消息。这是我的JavaScript函数:

var message = {};
var senders
message["messageKey"] = "title";
$.ajaxSetup({ cache: false });
$.getJSON("sample.json", function(json) {
    message["data"]= json;
    senders =  jsonToStrConvert(message);
    });

function jsonToStrConvert(mes)
{
 var getBack= JSON.stringify(mes);
 return getBack;
}

它基本上从json文件获取数据,将其转换为字符串对象并通过它发送。

在服务器端,带有龙卷风框架的python:

    JsonMessage = json.loads(message)
    self.write_message(JsonMessage['messageKey'])

即使使用相对较大的Json有效负载,它也能正常工作。将字符串消息转换为字典后,我可以随意使用它。但是,有时出于不明原因,我得到了这样的错误:

connection opened
ERROR:tornado.application:Uncaught exception in /
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/tornado/websocket.py", line 494, in _run_callback
    result = callback(*args, **kwargs)
  File "index.py", line 29, in on_message
    JsonFormattedMessage = json.loads(message)
  File "/usr/lib/python3.4/json/__init__.py", line 318, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.4/json/decoder.py", line 343, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.4/json/decoder.py", line 361, in raw_decode
    raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)
connection closed

错误发生在相同的工作环境中,服务器和客户端都在同一网络上。使用之前工作的相同json有效负载。 我完全不了解网络。是否有更好的Web套接字服务器可供使用?可能是JSON特有的?是否有任何cashe或我可以刷新以防止该错误的东西?我搜索了很多,找不到更可靠的方法?

0 个答案:

没有答案