0

助けを求めています。私のdjangoサーバーには、django-socketioによって実現されるインスタントメッセージング機能があります。cmd 'runserver_socketio' でサーバーを実行すると、問題はありません。しかし、「runfcgi」でサーバーを実行したいのですが、それではソケットが機能しなくなります。だから私はsocketioサーバーがfcgiサーバーによって伝えられるリクエストを処理することを望みます。それは機能しますか?以下は私のコードです:

def push_msg(msg):
    params = urllib.urlencode({"msg":str(msg)})
    '''headers = {"Content-type":"text/html;charset=utf8"}
    conn = httplib.HTTPConnection("http://127.0.0.1:8000")
    プリント接続
    conn.request("POST", "/push_msg/", data=params, headers=headers)
    応答 = conn.getresponse()
    応答を印刷する'''
    h = httplib2.http()
    印刷する
    resp, content = h.request("http://127.0.0.1:8000/push_msg/", method="POST", body=params)

url(r'^push_msg/$', 'chat.events.on_message')
chat.events.on_message:
def on_message(リクエスト):
    msg = request.POST.get('msg')
    メッセージ = eval(メッセージ)
    試す:
        print 'ハンドルメッセージ'
        from_id = int(msg['from_id'])
        to_id = int(msg['to_id'])
        user_to = UserProfile.objects.get(id = msg['to_id'])
        django_socketio.broadcast_channel(msg, user_to.channel)
        if msg.get('type', '') == 'チャット':
            ct = Chat.objects.send_msg(from_id=from_id,to_id=to_id,content=data['content'],type=1)
            ct.read = 1
            ct.save()
    を除外する:
        合格  
    return HttpResponse("成功")  

何度も試しているのですが、うまくいきません。

4

1 に答える 1

2

1)もちろん、Djangoは別のサーバーにリクエストを送信できます

私はあまり考えていませんdjango-socketio

httplibを使用している理由のもう1つの提案は、他の高度なバージョンのようなものを使用しhttplib2 たり、それとは別に要求を使用したりできます。それDjango-Pistonは要求専用ですREST。それで試すこともできます

于 2012-08-27T05:50:04.757 に答える