網路編程--多線程 , socketserver

來源:互聯網
上載者:User

標籤:路由   分配   idt   任務   accept   子網   區別   serve   image   

內容補充python2與python3的區別?
"""python3對unicode字元的原生支援Python2中使用ASCII碼作為預設編碼方式導致string有兩種類型str和Unicode , Python3隻支援Unicode的string""""""py2:    unicode            v = u"root"     本質上用Unicode儲存    (str/bytes)       v = "root"        本質上用位元組儲存py3:    str                   v = "root"         本質上用unicode儲存    bytes              v = "root"         本質上用位元組儲存"""
函數範圍

Python的範圍是通過函數劃分的,範圍是在編寫完成代碼就已經產生.

Python中程式的變數不是在哪個位置都可以訪問的,存取權限決定這個變數在哪裡賦值的.變數的範圍決定了在那一部分程式可以訪問哪個特定的變數名稱.

Python的範圍一共有4種:

  L (Local)  局部範圍

  E (Enclosing)  必包函數外的函數中

  G (Global)      全域範圍

  B (Built-in)      內建範圍

按照L->E->G->B的規則尋找

列表運算式

  列表運算式是Python內建的一種強大的產生list的運算式

  格式:  v = [lambda x:x+i for i in range(10)]

網路

路由器或交換器中的DHCP服務自動分配IP地址:(DHCP;自動為區域網路內的電腦分配IP)

IP:用4個"."分開的十進位表示  例:192.168.13.11

IP:192.168.13.86

  IPV4

    00000000.00000000.00000000.00000000

    0~255        0~255      0~255        0~255

  IPV6 (目前個人基本用不到)

    00000000.00000000.00000000.00000000.00000000.00000000

  子網路遮罩:255.255.255.0

    192.168.13.86

    255.255.255.0

  將擋住的IP位元作為網段

  為擋住的部分作為可變的值

網關:路由器中串連交換器的介面  

  網關IP:192.168.13.1  (預設為1)

網路組成了區域網路/城域網/廣域網路

DNS

網路連接:

  -網域名稱解析

    www.luffycity.com     ==>       47.95.64.113

    www.oldboyedu.com     ==>  101.200.195.98

  -串連

  sk = socket.socket()

  sk.connect((‘47.95.64.113‘,80))

看上面的代碼,那麼網域名稱和IP的對應關係在哪裡?

本地:

  win本地電腦:  

  C:\Windows\System32\drivers\etc\hosts
  

DNS伺服器:全球頂級DNS伺服器13台

socketserverThreadingTCPServer源碼剖析:

  

初識線程
impor timeimpor threadingdef task(a1,a2,a3):    time.sleep(2)    print("拿快遞")def play():    print(‘陪女友玩耍‘)def Take-out food():    print("去拿外賣")#建立一個線程#讓該線程去執行任務:函數t1 = threading.Thread(target=task,args=(1,2,3))#去執行吧t1.start()#建立一個線程#讓該線程去執行任務:函數t2 = threading.Thread(target=play))#去執行吧t2.start()#建立一個線程#讓該線程去執行任務:函數t3 = threading.Thread(target=Take-out food))#去執行吧t3.start()print("玩扇子")print("煽風點火")print("耍賤...")
socket與線程配合
import timeimport socketimport threadingdef task(conn):    time.sleep(5)    data = conn.recv(1024)    print(data)    conn.close()server = socket.socket()server.bind((‘192.168.13.86‘,8000))server.listen(5)while True:    conn,addr = server.accept()    t = threading.Thread(target=task, args = (conn,))    t.start()

 

 



 

網路編程--多線程 , socketserver

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.