0

Python ソケットを使用して JavaScript クライアントと通信しています。

http://docs.python.org/2/library/socket.html

そしてJavaScriptコードの部分に続いて、

ws = new WebSocket("ws://localhost:7777/");
ws.onopen = function(){
  alert("websocket opened.");
}
ws.onclose = function(){
  alert("websocket closed.");
}
ws.onmessage = function(e) {
  alert(e.data);
}

Python ソケットから JavaScript に json または文字列を渡す必要があります。まだjsonを渡す方法が見つかりません。そのためのエンコードメカニズムはサポートされていません。

4

3 に答える 3

2

クライアント側で WebSocket を使用しているため、Python コードはWeb Socket プロトコルを使用してクライアントにメッセージを送信する必要があります。いくつかの優れた代替手段については、javascript - Python の WebSocket サーバーへの回答を参照してください。

簡単な回答: Web ソケット プロトコルを実装しないと、 Web ソケットsocketを介してクライアントにメッセージを送信したり、使用したりすることはできません。

于 2012-12-07T12:16:09.183 に答える
1

Python では、 JSON モジュールを使用できます。JavaScript では、 jQuery.parseJSONを使用できます。

python doc の例:

>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> print json.dumps("\"foo\bar")
"\"foo\bar"
>>> print json.dumps(u'\u1234')
"\u1234"
>>> print json.dumps('\\')
"\\"
>>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
{"a": 0, "b": 0, "c": 0}

jQuery ドキュメントの例:

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
于 2012-12-07T12:14:38.373 に答える
0

うーん、実際には、python のオブジェクトをクライアントの js に送信することはできません。ただし、文字列で有効なjsonを送信し、たとえばjQuery.parseJSONによってクライアントで解析できます。

于 2012-12-07T12:14:08.623 に答える