番外 socketserver用法

2021-09-26 14:56:38 字數 1760 閱讀 4968

是不是被一般寫法,多程序寫法,多執行緒寫法甚至是協程寫法搞的不可開交

雲裡霧裡,彷彿將要放棄~再配上伺服器要服務多個客戶端

完蛋了,全都亂了~那今天就給你推薦乙個好的模組!sockerserver

具體操作:

import socketserver                              #1、引入模組

class myserver(socketserver.baserequesthandler): #2、自己寫乙個類,類名自己隨便定義,然後繼承socketserver這個模組裡面的baserequesthandler這個類

def handle(self): #3、寫乙個handle方法,必須叫這個名字

#self.request #6、self.request 相當於乙個conn

self.request.recv(1024) #7、收訊息

msg = '親,學會了嗎'

self.request.send(bytes(msg,encoding='utf-8')) #8、發訊息

self.request.close() #9、關閉連線

pass

if __name__ == '__mian__':

server = socketserver.threadingtcpserver(('127.0.0.1',8090),myserver)#4、使用socketserver的threadingtcpserver這個類,將ip和埠的元祖傳進去,還需要將上面咱們自己定義的類傳進去,得到乙個物件,相當於我們通過它進行了bind、listen

server.serve_forever() #5、使用我們上面這個類的物件來執行serve_forever()方法,他的作用就是說,我的服務一直開啟著,就像京東一樣,不能關閉**,對吧,並且serve_forever()幫我們進行了accept

#注意:

#有socketserver 那麼有socketclient的嗎?

#當然不會有,我要作為客戶去訪問京東的時候,京東幫我也客戶端了嗎,客戶端是不是在我們自己的電腦啊,並且socketserver對客戶端沒有太高的要求,只需要自己寫一些socket就行了。

把注釋去掉:

import socketserver

class myserver(socketserver.baserequesthandler):

def handle(self):

# self.request

self.request.recv(1024)

msg = '親,學會了嗎'

self.request.send(bytes(msg, encoding='utf-8'))

self.request.close()

pass

if __name__ == '__mian__':

server = socketserver.threadingtcpserver(('127.0.0.1', 8090), myserver)

是不是超級簡單!!!!!!!!!

這是服務端對吧,客戶端很好寫,就正常寫

到此!socket通訊才算是真正的學習完了!

*****

*****

番外 socketserver用法

是不是被一般寫法,多程序寫法,多執行緒寫法甚至是協程寫法搞的不可開交 雲裡霧裡,彷彿將要放棄 再配上伺服器要服務多個客戶端 完蛋了,全都亂了 那今天就給你推薦乙個好的模組!sockerserver 具體操作 import socketserver 1 引入模組 class myserver sock...

番外 函式隨記

void swap int a,int b a 和 b 列舉四種情況 a 110 0 b 010 1 a 100 1 b 110 0 和最初的 a 一樣 a 010 1 和最初的 b 一樣 data 1 bit num bit num 為0 資料最大位1.function void getsyste...

番外 深淺copy

copy是什麼意思?複製 又學乙個單詞!開不開森 那啥叫複製呢?我們曾經有過這樣的印象 a zhangsan b a a jack print a,b jack zhangsan 這樣就相當於用 b 複製了 一遍 a 對吧!那你在網上down文章的時候,作者把文章刪除了 你的電腦裡就沒了嗎?要是沒了...