Python網絡編程之TCP與UDP協(xié)議套接字用法示例
本文實例講述了Python網絡編程之TCP與UDP協(xié)議套接字用法。分享給大家供大家參考,具體如下:
TCP協(xié)議
服務器端:
#!/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)建服務器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) ##連接服務器
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é)議
服務器端:
#!/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) ##給服務器發(fā)送數(shù)據
data, ADDR = udpCliSock.recvfrom(BUFSIZ) ##客戶端接受帶時間戳的數(shù)據
if not data:
break
print data
udpCliSock.close()
更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數(shù)據結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
python3下使用cv2.imwrite存儲帶有中文路徑圖片的方法
今天小編就為大家分享一篇python3下使用cv2.imwrite存儲帶有中文路徑圖片的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
1 行 Python 代碼快速實現(xiàn) FTP 服務器
FTP 服務器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實現(xiàn)FTP服務器的功能。下面小編給大家?guī)砹? 行 Python 代碼快速實現(xiàn) FTP 服務器,需要的朋友參考下2018-01-01
Python中UserWarning:The NumPy module was
2024-07-07
selenium3.0+python之環(huán)境搭建的方法步驟
這篇文章主要介紹了selenium3.0+python之環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02

