欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python網絡編程之數據傳輸UDP實例分析

 更新時間:2015年05月20日 10:28:26   作者:久月  
這篇文章主要介紹了python網絡編程之數據傳輸UDP實現方法,實例分析了Python基于UDP協(xié)議的數據傳輸實現方法,需要的朋友可以參考下

本文實例講述了python網絡編程之數據傳輸UDP實現方法。分享給大家供大家參考。具體分析如下:

一、問題:

你覺得網絡上像msn,qq之類的工具在多臺機器之間互相傳輸數據神秘嗎?你也想玩一下在兩臺機器之間傳數據嗎?今天讓python告訴我們基本原理吧,當然只是做簡單的了解,實際情況復雜的多。
     我們今天用python實現一個簡單的udp程序。

二、程序實現:

1) 使用模塊

(socket)套接字模塊: 套接字模塊是一個非常簡單的基于對象的接口,它提供對低層BSD套接字樣式網絡的訪問 。使用該模塊可以實現客戶機和服務器套接字。

所謂的套接字是為特定網絡協(xié)議(例如TCP/IP,ICMP/IP,UDP/IP等)套件對上的網絡應用程序提供者提供當前可移植標準的對象。 它們允許程序接受并進行連接,如發(fā)送和接受數據。為了建立通信通道,網絡通信的每個端點擁有一個套接字對象極為重要 。

2) 建立服務器

第1步:創(chuàng)建socket對象

s = socket.socket(family,type)

family 的值可以是AF_UNIX(unix域,用于同一臺機器上的進程間通訊),也可以是AF_INET(對應于ip協(xié)議的TCP或UDP)

Type參數的值可以是: SOCK_STREAM(流套接字)或者 SOCK_DGRAM(數據報文套接字),SOCK_RAW(raw套接字)。

我們這里使用udp數據報文套接字;

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

第2步:將socket綁定到指定地址上:s.bind(address),address 必須是一個雙元素組,(host,port)

我們這里綁定本機8081端口: s.bind(("", port))

第3步:調用recvfrom方法接收客戶端發(fā)來的數據,recvfrom方法需指定可接收的最大數據量。將返回數據內容和客戶端地址;

import socket 
port = 8081 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
s.bind(("", port)) 
print "waiting on port:", port 
while True: 
  data, addr = s.recvfrom(1024)
  print "Received:", data, "from", addr

3) 客戶端建立

建立客戶端很簡單,只用創(chuàng)建套接字對象,指定端口,調用sendto方法傳輸數據就ok了,如下;

import socket 
port = 8081 
host = "localhost" 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
s.sendto("Hello! It's working.", (host, port))

使用數據報方式發(fā)送簡短的文本信息是非常簡單的,如果你想要可靠的傳輸數據,這種方法是不可行,如果服務器不可用,信息就會丟失,下一節(jié)將學習如何使用tcp協(xié)議來傳輸信息。

希望本文所述對大家的Python程序設計有所幫助。

相關文章

  • python中reload(module)的用法示例詳解

    python中reload(module)的用法示例詳解

    與from和import相比,reload是內置函數,而不是語句,下面這篇文章主要給大家介紹了關于python中reload(module)用法的相關資料,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面來一起看看吧。
    2017-09-09
  • Python Django切換MySQL數據庫實例詳解

    Python Django切換MySQL數據庫實例詳解

    這篇文章主要介紹了Python Django切換MySQL數據庫實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • django中瀑布流寫法實例代碼

    django中瀑布流寫法實例代碼

    在本篇文章里小編給大家整理的是關于django中瀑布流寫法實例代碼以及相關知識點,有需要的朋友們學習參考下。
    2019-10-10
  • Python對象屬性自動更新操作示例

    Python對象屬性自動更新操作示例

    這篇文章主要介紹了Python對象屬性自動更新操作,結合實例形式對比分析了Python對象屬性自動更新的原理,并改進了屬性互聯(lián)操作實現方法,需要的朋友可以參考下
    2018-06-06
  • Python實現批量提取word文件中文本框內容

    Python實現批量提取word文件中文本框內容

    在日常的辦公中,有時需要提取多個word文件中的文字框的內容,這篇文章主要為大家介紹了三種常見的方法來提取文本框的內容,希望對大家有一定的幫助
    2024-02-02
  • Python用20行代碼實現完整郵件功能

    Python用20行代碼實現完整郵件功能

    這篇文章主要介紹了如何使用Python實現完整郵件功能的相關資料,需要的朋友可以參考下面文章內容,希望能幫助到您
    2021-09-09
  • python threading模塊操作多線程介紹

    python threading模塊操作多線程介紹

    這篇文章主要介紹了python threading模塊操作多線程介紹,本文給出簡單使用實例,需要的朋友可以參考下
    2015-04-04
  • python連接打印機實現打印文檔、圖片、pdf文件等功能

    python連接打印機實現打印文檔、圖片、pdf文件等功能

    這篇文章主要介紹了python連接打印機實現打印文檔、圖片、pdf文件等功能,需要的朋友可以參考下
    2020-02-02
  • Python辦公自動化批量處理文件實現示例

    Python辦公自動化批量處理文件實現示例

    這篇文章主要為大家介紹了Python辦公自動化批量處理文件實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • python之消除前綴重命名的方法

    python之消除前綴重命名的方法

    今天小編就為大家分享一篇python之消除前綴重命名的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論