Python 通過監聽埠實現唯一指令碼執行方式

2021-10-13 05:23:57 字數 1863 閱讀 3737

更多程式設計教程請到:菜鳥教程

高州陽光論壇

人人影視

我就廢話不多說了,大家還是直接看**吧

try:

s = socket.socket()

s.bind(('127.0.0.1', port))

except:

log.info(' * already has an instance, so exit.')

exit(0)

補充知識:python:乙個簡單的tornado程式:監聽伺服器端口,訪問時給瀏覽器返回乙個字串乙個簡單的tornado程式

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):

def get(self):

self.write("hello world! my name is alien!")

這裡是建立了乙個類,繼承了tornado.web.requesthander類,其實就是乙個業務處理類,用於接收請求的

裡面的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...