0

我正在寻求帮助。我的 django 服务器有 django-socketio 实现的即时通讯功能。如果我通过 cmd 'runserver_socketio' 运行服务器,则没有问题。但是现在我想通过'runfcgi'运行服务器,但这会使我的socketio无法工作。所以我希望socketio服务器处理fcgi服务器传送的请求。它可以工作吗?以下是我的代码:

def push_msg(味精):
    参数 = urllib.urlencode({"msg":str(msg)})
    '''headers = {"内容类型":"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()
    打印 h
    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')
    味精=评估(味精)
    尝试:
        打印'处理消息'
        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)
        如果 msg.get('type', '') == 'chat':
            ct = Chat.objects.send_msg(from_id=from_id,to_id=to_id,content=data['content'],type=1)
            ct.read = 1
            ct.save()
    除了:
        经过  
    返回 HttpResponse("成功")  

我试了很多次,还是不行,为什么?

4

1 回答 1

2

1) 当然 Django 可以向另一台服务器发出请求

我不太了解django-socketio

还有一个建议为什么您使用 httplib 您可以使用其他高级版本,例如httplib2 or requests 除了Django-Piston专用于REST请求您也可以尝试使用

于 2012-08-27T05:50:04.757 回答