自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UDP客戶端編碼解析

網(wǎng)絡 網(wǎng)絡管理
本文我們介紹了UDP協(xié)議的UDP客戶端創(chuàng)建的源碼。首先讓我們了解誒一下,在開頭的代碼是如何編寫的。那么之后還會對它們進行解析。

在前面,我們對UDP協(xié)議的相關內(nèi)容也有了一定了解了。那么接下來我們則重點將誒少一下UDP客戶端的創(chuàng)建過程。首先讓我們看一下在Unix系統(tǒng)中,如何進行創(chuàng)建。那么請大家瀏覽文章看一下編寫的源碼。

創(chuàng)建一個UDP客戶端

這一節(jié)中介紹的4段程序中,下面的這段UDP客戶端代碼是最短的。偽代碼如下:

  1. cs = socket()                # 創(chuàng)建客戶端套接字  
  2. comm_loop:                   # 通訊循環(huán)  
  3. cs.sendto()/cs.recvfrom()    # 對話(發(fā)送/接收)  
  4. cs.close()                   # 關閉客戶端套接字 

在套接字對象創(chuàng)建好之后,我們就進入一個與服務器的對話循環(huán)。在通信結束后,套接字就被關閉了。tsUclnt.py真實的代碼在例16.4中給出。

逐行解釋

1~3行

還是跟TCP版本的客戶端一樣,在Unix的啟動信息行后,我們導入了socket模塊的所有屬性。

5~10行

因為我們的服務器也是運行在本機,我們的客戶端還是使用本機和相同的端口號。自然地,緩沖區(qū)的大小也還是1K。創(chuàng)建套接字的方法跟UDP服務器中的一樣。

12~22行

UDP客戶端的循環(huán)基本上與TCP客戶端的完全一樣。***的區(qū)別就是,我們不用先去跟UDP服務器建立連接,而是直接把消息發(fā)送出去,然后等待服務器的回復。得到加了時間戳的字符串后,把它顯示到屏幕上,然后再繼續(xù)其他的消息。在輸入結束后,退出循環(huán),關閉套接字。
例16.4  UDP時間戳客戶端(tsUclnt.py)

創(chuàng)建一個UDP客戶端,程序會提示用戶輸入要傳給服務器的信息,顯示服務器返回的加了時間戳的結果。

#!/usr/bin/env python
from socket import *
HOST=' localhost '
PORT=21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpCliSock = socket(AF_INET, SOCK_DGRAM)
while True:
data = raw_input('> ')
if not data:
break
udpCliSock.sendto(data, ADDR)
data, ADDR = udpCliSock.recvfrom(BUFSIZ)
if not data:
break
print dataudpClisock.close()
udpCliSock.close()

 

責任編輯:佟健 來源: IBM
相關推薦

2018-07-17 09:59:10

PythonUDP服務器

2009-12-22 10:29:59

WCF客戶端處理

2015-06-03 09:27:05

JavaScript客戶端檢測技術

2009-12-02 14:37:17

2010-02-25 16:20:02

WCF客戶端

2010-09-29 15:05:44

DHCP客戶端故障

2011-08-17 10:10:59

2021-09-22 15:46:29

虛擬桌面瘦客戶端胖客戶端

2010-05-31 10:11:32

瘦客戶端

2011-10-26 13:17:05

2011-03-02 14:36:24

Filezilla客戶端

2010-12-21 11:03:15

獲取客戶端證書

2011-03-24 13:00:31

配置nagios客戶端

2011-03-21 14:53:36

Nagios監(jiān)控Linux

2009-03-04 10:27:50

客戶端組件桌面虛擬化Xendesktop

2011-04-06 14:24:20

Nagios監(jiān)控Linux

2013-05-09 09:33:59

2012-10-11 17:02:02

IBMdw

2012-11-28 11:05:42

IBMdW

2011-05-24 16:47:20

數(shù)據(jù)存儲
點贊
收藏

51CTO技術棧公眾號