Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2010 22:04:38

Antonio
От:
Зарегистрирован: 2009-12-30
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

GET и POST данные на сокетном сервере

Здравствуйте.
Есть задача написать онлайн игру . В качестве бакенда будет сокетный сервер на питоне. В качестве фронтенда - джанго и флеш .
Допустим джанго будет висеть на определенном домене на сервере wsgi. На том же хостинге бодет вертется демон, который будет прослушивать какой - нибудь порт этого домена. Когда открывается страничка сайта, згружается флеш приложение и делает длинный http запрос к демону. Демон удерживает связь с сокетттом и обрывает соединение только в том случае, если пользователь отключился или когда игра завершена. Но вот не понятно, как можно получить GET и POST данные запроса. В os.environ их нет.
Вот примерный код демона:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from select import *
from socket import *
import os

class Server(object):
def __init__(self):

self.sock = socket( AF_INET, SOCK_STREAM )
self.sock.bind( ('access', 8880) )
self.sock.listen( 3 )
self.sock_list = [self.sock]
self.connectedSockets = {}


def ret_env(self):
self.result = ' '



def run(self):
while (1):
sockets = select(self.sock_list, [], [])
tmp, addr = self.sock.accept()

self.connectedSockets[tmp] = addr
print self.connectedSockets, '\n'

self.ret_env()

print self.connectedSockets, '\n'
print os.environ, '\n'

tmp.send(self.result)

if __name__ == '__main__':
Server().run()
В питоне начинающий. Может кто уже делал похожее или по другому как-то надо?



Отредактировано (Март 14, 2010 22:07:59)

Офлайн

#2 Март 15, 2010 08:29:35

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

GET и POST данные на сокетном сервере

Если клиент делает http запросы то зачем вы взяли сокет сервер? Возьмите обычный http сервер и в нем вы получите возможность легко обрабатывать GET и POST запросы.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version