更多程式設計教程請到:菜鳥教程
高州陽光論壇
人人影視
我就廢話不多說了,大家還是直接看**吧
try:補充知識:python:乙個簡單的tornado程式:監聽伺服器端口,訪問時給瀏覽器返回乙個字串乙個簡單的tornado程式s = socket.socket()
s.bind(('127.0.0.1', port))
except:
log.info(' * already has an instance, so exit.')
exit(0)
tornado是python裡的乙個模組,它是一種web伺服器軟體的開源版本
它作為web伺服器,具有較出色的抗負載能力,它適用於使用者量大,高併發,或者大量的http持久連線的情況。
我們來看一段簡單的程式**
當我們執行這段程式時,在瀏覽器上輸入ip+我們監聽的埠就可以顯示這樣的效果:
那麼我們現在逐句分析這段小**:
1、
import tornado.web首先要進行匯入操作import tornado.ioloop
這裡的tornado.web是tornado的基礎web框架模組
tornado.ioloop是tornado的核心i/o迴圈模組(也就是說,服務一起,就不會自己關閉了)ioloop封裝了linux的epoll和bsd的kquene,這個迴圈模組是tornado高效的基礎
2、
class indexhander(tornado.web.requesthander):這裡是建立了乙個類,繼承了tornado.web.requesthander類,其實就是乙個業務處理類,用於接收請求的def get(self):
self.write("hello world! my name is alien!")
裡面的get函式就是處理get請求的
write函式這裡返回了乙個字串,也就響應資訊為這段字串
3、
if __name__ = "__main__":這段python**就是當入口函式為當前檔案時,執行以下**
4、 (r"/", indexhander)
]) 5、
這裡的listen是繫結了監聽埠8000
所以listen就是建立乙個http伺服器後繫結監聽埠
注意注意:
這裡的listen只是繫結了埠,並沒有開啟監聽
6、
tornado.ioloop.ioloop.current().start()這裡是啟動該例項的i/o迴圈
ioloop.current()返回了當前執行緒的ioloop例項,也就是返回了乙個物件–當前執行緒讀寫操作的物件
ioloop.start()啟動了ioloop例項的i/o迴圈,等待客戶端的鏈結
注意注意:
ioloop.start()才開啟了監聽,剛剛上面的listen是沒有開啟監聽的
socket監聽埠實現實時通訊
socket通訊的原理在這裡就不說了,它的用途還是比較廣泛的,我們可以使用socket來做乙個api介面出來,也可以使用socket來實現兩個程式之間的通訊,我們來研究一下在php裡面如何實現socket通訊。李昌輝 1.php製作的socket服務端 主要功能是設定socket通訊的ip位址及埠號...
完成埠實現echo tcp server
include stdio.h include winsock2.h pragma comment lib,ws2 32.lib define port 5150 define data bufsize 8192 typedef struct char buffer data bufsize int...
I O 完成埠實現
這篇文章是繼承上篇 windows 同步裝置 i o 與非同步裝置 i o 未讀過的讀者可以去看看再來看這篇文章哈。建立新的i o完成埠 i o完成可能是最複雜的windows核心物件了,為了建立乙個i o完成端 們需要呼叫createiocompletionport函式 handle winapi...