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

python網(wǎng)絡(luò)編程之?dāng)?shù)據(jù)傳輸U(kuò)DP實(shí)例分析

 更新時(shí)間:2015年05月20日 10:28:26   作者:久月  
這篇文章主要介紹了python網(wǎng)絡(luò)編程之?dāng)?shù)據(jù)傳輸U(kuò)DP實(shí)現(xiàn)方法,實(shí)例分析了Python基于UDP協(xié)議的數(shù)據(jù)傳輸實(shí)現(xiàn)方法,需要的朋友可以參考下

本文實(shí)例講述了python網(wǎng)絡(luò)編程之?dāng)?shù)據(jù)傳輸U(kuò)DP實(shí)現(xiàn)方法。分享給大家供大家參考。具體分析如下:

一、問(wèn)題:

你覺(jué)得網(wǎng)絡(luò)上像msn,qq之類的工具在多臺(tái)機(jī)器之間互相傳輸數(shù)據(jù)神秘嗎?你也想玩一下在兩臺(tái)機(jī)器之間傳數(shù)據(jù)嗎?今天讓python告訴我們基本原理吧,當(dāng)然只是做簡(jiǎn)單的了解,實(shí)際情況復(fù)雜的多。
     我們今天用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的udp程序。

二、程序?qū)崿F(xiàn):

1) 使用模塊

(socket)套接字模塊: 套接字模塊是一個(gè)非常簡(jiǎn)單的基于對(duì)象的接口,它提供對(duì)低層BSD套接字樣式網(wǎng)絡(luò)的訪問(wèn) 。使用該模塊可以實(shí)現(xiàn)客戶機(jī)和服務(wù)器套接字。

所謂的套接字是為特定網(wǎng)絡(luò)協(xié)議(例如TCP/IP,ICMP/IP,UDP/IP等)套件對(duì)上的網(wǎng)絡(luò)應(yīng)用程序提供者提供當(dāng)前可移植標(biāo)準(zhǔn)的對(duì)象。 它們?cè)试S程序接受并進(jìn)行連接,如發(fā)送和接受數(shù)據(jù)。為了建立通信通道,網(wǎng)絡(luò)通信的每個(gè)端點(diǎn)擁有一個(gè)套接字對(duì)象極為重要 。

2) 建立服務(wù)器

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

s = socket.socket(family,type)

family 的值可以是AF_UNIX(unix域,用于同一臺(tái)機(jī)器上的進(jìn)程間通訊),也可以是AF_INET(對(duì)應(yīng)于ip協(xié)議的TCP或UDP)

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

我們這里使用udp數(shù)據(jù)報(bào)文套接字;

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

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

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

第3步:調(diào)用recvfrom方法接收客戶端發(fā)來(lái)的數(shù)據(jù),recvfrom方法需指定可接收的最大數(shù)據(jù)量。將返回?cái)?shù)據(jù)內(nèi)容和客戶端地址;

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) 客戶端建立

建立客戶端很簡(jiǎn)單,只用創(chuàng)建套接字對(duì)象,指定端口,調(diào)用sendto方法傳輸數(shù)據(jù)就ok了,如下;

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

使用數(shù)據(jù)報(bào)方式發(fā)送簡(jiǎn)短的文本信息是非常簡(jiǎn)單的,如果你想要可靠的傳輸數(shù)據(jù),這種方法是不可行,如果服務(wù)器不可用,信息就會(huì)丟失,下一節(jié)將學(xué)習(xí)如何使用tcp協(xié)議來(lái)傳輸信息。

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

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

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

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

    Python Django切換MySQL數(shù)據(jù)庫(kù)實(shí)例詳解

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

    django中瀑布流寫法實(shí)例代碼

    在本篇文章里小編給大家整理的是關(guān)于django中瀑布流寫法實(shí)例代碼以及相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)參考下。
    2019-10-10
  • Python對(duì)象屬性自動(dòng)更新操作示例

    Python對(duì)象屬性自動(dòng)更新操作示例

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

    Python實(shí)現(xiàn)批量提取word文件中文本框內(nèi)容

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

    Python用20行代碼實(shí)現(xiàn)完整郵件功能

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

    python threading模塊操作多線程介紹

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

    python連接打印機(jī)實(shí)現(xiàn)打印文檔、圖片、pdf文件等功能

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

    Python辦公自動(dòng)化批量處理文件實(shí)現(xiàn)示例

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

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

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

最新評(píng)論