Python網(wǎng)絡(luò)編程之TCP與UDP協(xié)議套接字用法示例
本文實例講述了Python網(wǎng)絡(luò)編程之TCP與UDP協(xié)議套接字用法。分享給大家供大家參考,具體如下:
TCP協(xié)議
服務(wù)器端:
#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM) ##創(chuàng)建服務(wù)器TCP套接字
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept() ##等待客戶端連接
print '...connected from:', addr
while True:
data = tcpCliSock.recv(BUFSIZ) ##監(jiān)聽客戶端是否發(fā)送消息
if not data:
break
tcpCliSock.send('[%s] %s' % (
ctime(), data))
tcpCliSock.close()
tcpSerSock.close()
客戶端:
#!/usr/bin/env python
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM) ##創(chuàng)建客戶端TCP套接字
tcpCliSock.connect(ADDR) ##連接服務(wù)器
while True:
data = raw_input('> ')
if not data:
break
tcpCliSock.send(data)
data = tcpCliSock.recv(BUFSIZ) ##監(jiān)聽客戶端發(fā)送消息
if not data:
break
print data
tcpCliSock.close()
UDP協(xié)議
服務(wù)器端:
#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpSerSock = socket(AF_INET, SOCK_DGRAM)
udpSerSock.bind(ADDR)
while True:
print 'waiting for message...'
data, addr = udpSerSock.recvfrom(BUFSIZ)##監(jiān)聽并接受客戶端發(fā)的消息
udpSerSock.sendto('[%s] %s' % ( ##給消息加上時間戳并返回給客戶端
ctime(), data), addr)
print '...received from and returned to:', addr
udpSerSock.close()
客戶端:
#!/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) ##給服務(wù)器發(fā)送數(shù)據(jù)
data, ADDR = udpCliSock.recvfrom(BUFSIZ) ##客戶端接受帶時間戳的數(shù)據(jù)
if not data:
break
print data
udpCliSock.close()
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
- 對python中基于tcp協(xié)議的通信(數(shù)據(jù)傳輸)實例講解
- Python Scapy隨心所欲研究TCP協(xié)議棧
- Python實現(xiàn)基于TCP UDP協(xié)議的IPv4 IPv6模式客戶端和服務(wù)端功能示例
- Python+Socket實現(xiàn)基于TCP協(xié)議的客戶與服務(wù)端中文自動回復(fù)聊天功能示例
- Python實現(xiàn)TCP/IP協(xié)議下的端口轉(zhuǎn)發(fā)及重定向示例
- Python使用?TCP協(xié)議實現(xiàn)智能聊天機器人功能
- Python網(wǎng)絡(luò)編程之Python編寫TCP協(xié)議程序的步驟
相關(guān)文章
python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法
今天小編就為大家分享一篇python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫的讀寫
這篇文章主要介紹了Python使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫的讀寫 ,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
sublime3之內(nèi)網(wǎng)安裝python插件Anaconda的流程
這篇文章主要介紹了sublime3之內(nèi)網(wǎng)安裝python插件Anaconda的流程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
python交互模式基礎(chǔ)知識點學(xué)習(xí)
在本篇內(nèi)容里小編給大家整理的是關(guān)于python交互模式是什么的相關(guān)基礎(chǔ)知識點,需要的朋友們可以參考下。2020-06-06

