главная цель - ответ на любой запрос массивом данных
2-ой день мучаюсь уже запутался где, что и как, можно даже без комментариев главное чтоб работал.
BOBAHну так возьмите helloworld из примеров.
TSP server это конечно хорошо, но насколько я понимаю, например на heroku он работать не будет, или я неправильно понимаю???
import tornado.ioloop import tornado.web from random import randint def f(l,n): return ' '.join([str(randint(-n,n)) for _ in range(l)]) class MainHandler(tornado.web.RequestHandler): def get(self): self.write(f(100,100)) if __name__ == "__main__": app = tornado.web.Application([ (r"/", MainHandler), ]) app.listen(8000) tornado.ioloop.IOLoop.current().start()
>>> import requests >>> r = requests.get('http://localhost:8000') >>> r <Response [200]> >>> r.text '11 -95 55 10 1 28 -24 59 -72 28 -49 8 83 -78 64 -68 -40 -48 -23 43 -67 12 76 -21 20 56 -77 -89 -98 -86 53 63 62 -94 -28 48 0 -51 -26 -85 75 9 -15 44 95 -20 -82 27 33 -36 8 31 100 85 38 93 -89 -7 25 92 72 24 -12 -78 52 40 -15 -89 -85 -92 78 12 -55 86 -97 -13 -10 8 -43 43 -28 47 39 57 23 -90 -83 -24 -99 -70 74 -90 -80 11 -85 -66 93 -28 -95 39' >>>
FishHook
а почему вы так решили? Поделитесь размышлениями.
vic57А при использовании web - все данные легко читаются даже в окне браузера.
ну так возьмите helloworld из примеров.
BOBAHтак браузер и есть клиент в данном случае. вы чего хотите-то?
А при использовании web - все данные легко читаются даже в окне браузера.
from tornado.web import Application from tornado.websocket import WebSocketHandler from tornado.ioloop import IOLoop from tornado.options import options, define define(name='port', default="PORT", help='Port') class MyServer(WebSocketHandler): def open(self, *args: str, **kwargs: str): self.write_message('Вы подключились к серверу') def main(): print('Server run') options.parse_command_line() app = Application([('/', MyServer)]) app.listen(options.port) IOLoop.instance().start() if __name__ == '__main__': main()
from tornado.ioloop import IOLoop from tornado.websocket import websocket_connect from tornado.gen import coroutine class Client(): def __init__(self, url): self.url = url self.ws = None self.ioloop = IOLoop().instance() self.connect() self.ioloop.start() @coroutine def connect(self): print('Попытка подключения') try: self.ws = yield websocket_connect(self.url) except Exception as s: print('Ошибка', s) else: print('Подключенно') self.run() @coroutine def run(self): while True: message = yield self.ws.read_message() if message is None: self.ws = None print('Соединение прерванно') break print(message) if __name__ == '__main__': Client('ws://domain.name')
BOBAHу вас кроме соединения и нет ничего, как это использовать ?
Решил использовать WebSocket от tornado, код если кому надо: