Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信實(shí)例
本文實(shí)例講述了Python警察與小偷的實(shí)現(xiàn)之一客戶端與服務(wù)端通信,分享給大家供大家參考。具體方法分析如下:
該實(shí)例來(lái)源于ISCC 2012 破解關(guān)第四題
目的是通過(guò)逆向police,實(shí)現(xiàn)一個(gè)thief,能夠與police進(jìn)行通信
實(shí)際上就是一個(gè)RSA加密通信的例子,我們通過(guò)自己編寫(xiě)客戶端和服務(wù)端來(lái)實(shí)現(xiàn)上面的thief和police的功能.
要通信,這們這次先通過(guò)python寫(xiě)出可以進(jìn)行網(wǎng)絡(luò)連接的客戶端與服務(wù)端.
服務(wù)端代碼如下:
#!/usr/bin/env python
import SocketServer
from time import ctime
HOST = '127.0.0.1'
PORT = 2012
ADDR = (HOST, PORT)
class MyRequestHandler(SocketServer.BaseRequestHandler):
def handle(self):
print '...connected from...', self.client_address
while True:
self.request.sendall('[%s] %s' % (ctime(),self.request.recv(1024)))
tcpServ = SocketServer.ThreadingTCPServer(ADDR, MyRequestHandler)
print 'waiting for connection...'
tcpServ.serve_forever()
客戶端代碼如下:
#!/usr/bin/env python
from socket import *
HOST = '127.0.0.1'
PORT = 2012
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = raw_input('>>>>>>>>>>>>')
if not data:
break
tcpCliSock.send('%s\r\n' % data)
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
print data.strip()
#tcpCliSock.close()
這段代碼可參考《python核心編程》
如果報(bào)python errno 10053錯(cuò)誤,請(qǐng)確認(rèn)下客戶端的連接代碼一定要在循環(huán)外
也就是:
tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR)
要在while True的外面。
下次解決RSA加密的問(wèn)題。
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- Python TCP通信客戶端服務(wù)端代碼實(shí)例
- Python通過(guò)隊(duì)列來(lái)實(shí)現(xiàn)進(jìn)程間通信的示例
- Python 串口通信的實(shí)現(xiàn)
- Python使用socket模塊實(shí)現(xiàn)簡(jiǎn)單tcp通信
- Python如何實(shí)現(xiàn)線程間通信
- Python實(shí)現(xiàn)UDP程序通信過(guò)程圖解
- 如何通過(guò)Python3和ssl實(shí)現(xiàn)加密通信功能
- Python通過(guò)4種方式實(shí)現(xiàn)進(jìn)程數(shù)據(jù)通信
- python實(shí)現(xiàn)串口通信的示例代碼
- python實(shí)現(xiàn)局域網(wǎng)內(nèi)實(shí)時(shí)通信代碼
- python 實(shí)現(xiàn)客戶端與服務(wù)端的通信
相關(guān)文章
Python腳本操作Excel實(shí)現(xiàn)批量替換功能
這篇文章主要介紹了Python腳本操作Excel實(shí)現(xiàn)批量替換功能,本文使用的是Openpyxl工具,通過(guò)實(shí)例截圖給大家講解的非常詳細(xì),需要的朋友可以參考下2019-11-11
利用Python實(shí)現(xiàn)電影訂票系統(tǒng)
這篇文章主要介紹了利用Python實(shí)現(xiàn)電影訂票系統(tǒng),一部電影的詳細(xì)信息適合用?字典?結(jié)構(gòu)來(lái)存儲(chǔ),我們可以給字典里添加多個(gè)鍵值對(duì)來(lái)保存電影的名稱、座位表和宣傳時(shí)用的字符畫(huà),需要的朋友可以參考一下2022-03-03
Python利用邏輯回歸模型解決MNIST手寫(xiě)數(shù)字識(shí)別問(wèn)題詳解
這篇文章主要介紹了Python利用邏輯回歸模型解決MNIST手寫(xiě)數(shù)字識(shí)別問(wèn)題,結(jié)合實(shí)例形式詳細(xì)分析了Python MNIST手寫(xiě)識(shí)別問(wèn)題原理及邏輯回歸模型解決MNIST手寫(xiě)識(shí)別問(wèn)題相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
淺談python實(shí)現(xiàn)Google翻譯PDF,解決換行的問(wèn)題
今天小編就為大家分享一篇淺談python實(shí)現(xiàn)Google翻譯PDF,解決換行的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
python中pandas對(duì)多列進(jìn)行分組統(tǒng)計(jì)的實(shí)現(xiàn)
分組統(tǒng)計(jì)在很多時(shí)候都需要用到,可以實(shí)現(xiàn)很多數(shù)據(jù)庫(kù)函數(shù)的功能。本文主要介紹了python中pandas對(duì)多列進(jìn)行分組統(tǒng)計(jì)的實(shí)現(xiàn),感興趣的可以了解一下2021-06-06
python實(shí)現(xiàn)對(duì)列表中的元素進(jìn)行倒序打印
今天小編就為大家分享一篇python實(shí)現(xiàn)對(duì)列表中的元素進(jìn)行倒序打印,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
Python編程實(shí)現(xiàn)的圖片識(shí)別功能示例
這篇文章主要介紹了Python編程實(shí)現(xiàn)的圖片識(shí)別功能,涉及Python PIL模塊的安裝與使用技巧,需要的朋友可以參考下2017-08-08
利用python實(shí)現(xiàn)凱撒密碼加解密功能
這篇文章主要介紹了利用python實(shí)現(xiàn)凱撒密碼加解密功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

