python網路編程(一)

來源:互聯網
上載者:User

標籤:ESS   如何   聊天   .so   處理序間通訊   socket   很多   div   本地   

socket簡介1.本地的處理序間通訊(IPC)有很多種方式,例如
  • 隊列
  • 同步(互斥鎖、條件變數等)

以上通訊方式都是在一台機器上不同進程之間的通訊方式,那麼問題來了

網路中進程之間如何通訊?

2. 網路中進程之間如何通訊

首要解決的問題是如何唯一標識一個進程,否則通訊無從談起!

在本地可以通過進程PID來唯一標識一個進程,但是在網路中這是行不通的。

其實TCP/IP協議族已經幫我們解決了這個問題,網路層的“ip地址”可以唯一標識網路中的主機,而傳輸層的“協議+連接埠”可以唯一標識主機中的應用程式(進程)。

這樣利用ip地址,協議,連接埠就可以標識網路的進程了,網路中的進程通訊就可以利用這個標誌與其它進程進行互動

3. 什麼是socket

socket(簡稱 通訊端) 是處理序間通訊的一種方式,它與其他處理序間通訊的一個主要不同是:

它能實現不同主機間的處理序間通訊,我們網路上各種各樣的服務大多都是基於 Socket 來完成通訊的

例如我們每天瀏覽網頁、QQ 聊天、收發 email 等等

4. 建立socket

在 Python 中 使用socket 模組的函數 socket 就可以完成:

socket.socket(AddressFamily, Type)
說明:

函數 socket.socket 建立一個 socket,返回該 socket 的描述符,該函數帶有兩個參數:

  • Address Family:可以選擇 AF_INET(用於 Internet 處理序間通訊) 或者 AF_UNIX(用於同一台機器處理序間通訊),實際工作中常用AF_INET
  • Type:通訊端類型,可以是 SOCK_STREAM(流式通訊端,主要用於 TCP 協議)或者 SOCK_DGRAM(資料通訊端,主要用於 UDP 協議)

建立一個tcp socket(tcp通訊端)

import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)print ‘Socket Created‘

建立一個udp socket(udp通訊端)

import sockets = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)print ‘Socket Created‘

 

python網路編程(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.