2016-11-15 44 views
0

我想爲我的Python Web項目使用Bottle框架。我只是這方面的初學者。所以,首先我想了解它是如何工作的。瓶子裏的哪個功能提供無限的等待請求?

簡單的應用程序是這樣的:

from bottle import route, run 

@route('/hello') 
def hello(): 
    return "Hello World" 

run(host='localhost', port=5000, debug=True) 

我發現run功能bottle.py,但我不明白的地方是代碼期望從瀏覽器請求的塊。也許我不明白什麼。這就是爲什麼你可以向我解釋這個機會主義的基本問題。

+2

'bottle'不能做任何請求_from_瀏覽器。這是一個_server_。它回答了瀏覽器的要求。只有_client-side_軟件可以從瀏覽器發送請求',但'bottle'本身就是服務器,它只是盡力將數據發送到瀏覽器,就是這樣。 – ForceBru

+0

你究竟想要什麼?請提供更多信息。您以代碼語法形式提供的信息更令人困惑。一些解釋將有幫助 –

回答

0

HTTP基於請求 - 響應。 請求 - >瀏覽器,響應 - >服務器(服務器在你的情況下是瓶子)。 一旦服務器響應客戶端(瀏覽器),瀏覽器的通信就結束。這是常規的HTTP方式。 如果你想保持瀏覽器和服務器之間的連續連接,例如爲瀏覽器提供實時更新(瀏覽器不需要更新,服務器將它們發送到瀏覽器)這將是Websockets。

這裏是對瓶的WebSockets的文檔: https://bottlepy.org/docs/dev/async.html#finally-websockets

+0

好的,謝謝。我不想保持連續的連接。我只想在** bottle.py **中找到一個可以與瀏覽器進行單一通信的功能。我想要說明服務器如何響應來自瀏覽器的請求,如果連接不連續。 – Ilya

+0

當您運行bootle時,將啓動一個開發服務器。運行(host ='localhost',port = 5000,debug = True)。這將在端口5000上啓動一個本地開發服務器。當您在瀏覽器的地址欄中鍵入localhost:5000時,可以訪問它。當你去到url localhost:5000/hello時,服務器的hello函數將被瀏覽器調用,並且服務器響應請求。 – matyas