基于python實(shí)現(xiàn)簡(jiǎn)單C/S模式代碼實(shí)例
C/S模式就是指客bai戶端/服務(wù)器模式,du是計(jì)算機(jī)軟件協(xié)同工作的一種模式。zhi
由于Web瀏覽器的興起,B/S模式逐步取代了daoC/S模式,被更廣泛地應(yīng)用。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的成熟和應(yīng)用普及,特別是局域網(wǎng)的發(fā)展、PC機(jī)的出現(xiàn),越來(lái)越多的用戶和企業(yè)開(kāi)始使用計(jì)算機(jī)管理一些事務(wù)。
PC機(jī)的資源沒(méi)有大型、中型甚至小型主機(jī)豐富,但將多臺(tái)PC機(jī)聯(lián)成網(wǎng),必然會(huì)增加資源含量,各個(gè)用戶都在網(wǎng)絡(luò)上來(lái)共享所有資源。根據(jù)客戶/服務(wù)器(Client/Server簡(jiǎn)記為C/S)體系結(jié)構(gòu)的概念,至少用兩臺(tái)計(jì)算機(jī)來(lái)分別充當(dāng)客戶機(jī)和服務(wù)器角色。
服務(wù)器端代碼:
#!/usr/bin/python import time, socket, threading # thread handle function def tcplink(sock, addr): print 'Accept new connection from %s:%s...' % addr sock.send('Welcome!') while True: data = sock.recv(1024) time.sleep(1) if data == 'exit' or not data: break sock.send('Hello, %s!' % data) sock.close() print 'Connection from %s:%s closed.' % addr # create socket object s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # listen port s.bind(('127.0.0.1', 9999)) # start listen s.listen(5) # print prompt print 'Waiting for connection...' while True: # accept a new connection sock, addr = s.accept() # create new thread to handle tcp connection t = threading.Thread(target=tcplink, args=(sock, addr)) t.start()
客戶端代碼:
#!/usr/bin/python # import module import socket # create TCP object s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # connect sina s.connect(('127.0.0.1', 9999)) # receive welcome print s.recv(1024) for data in ['zjw', 'ygl', 'lele']: # send data s.send(data) print s.recv(1024) while True: data = 1
設(shè)計(jì)思路還是那樣的,服務(wù)器端監(jiān)聽(tīng)固定端口,等待連接,客戶端來(lái)連接,然后互相發(fā)送消息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python Socket網(wǎng)絡(luò)編程實(shí)現(xiàn)C/S模式和P2P
- python單線程文件傳輸?shù)膶?shí)例(C/S)
- python基于C/S模式實(shí)現(xiàn)聊天室功能
- Python實(shí)現(xiàn)基于C/S架構(gòu)的聊天室功能詳解
- Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能案例
- Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)
- python3編寫(xiě)C/S網(wǎng)絡(luò)程序?qū)嵗坛?/a>
相關(guān)文章
opencv3/C++實(shí)現(xiàn)視頻背景去除建模(BSM)
今天小編就為大家分享一篇opencv3/C++實(shí)現(xiàn)視頻背景去除建模(BSM),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python 內(nèi)置庫(kù)wsgiref的使用(WSGI基礎(chǔ)入門(mén))
WSGI(web服務(wù)器網(wǎng)關(guān)接口)主要規(guī)定了服務(wù)器端和應(yīng)用程序之間的接口,即規(guī)定了請(qǐng)求的URL到后臺(tái)處理函數(shù)之間的映射該如何實(shí)現(xiàn)。wsgiref是一個(gè)幫助開(kāi)發(fā)者開(kāi)發(fā)測(cè)試的Python內(nèi)置庫(kù),程序員可以通過(guò)這個(gè)庫(kù)了解WSGI的基本運(yùn)行原理,但是不能把它用在生產(chǎn)環(huán)境上。2021-06-06pytorch 搭建神經(jīng)網(wǎng)路的實(shí)現(xiàn)
這篇文章主要介紹了pytorch 搭建神經(jīng)網(wǎng)路,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08python爬取網(wǎng)易云音樂(lè)熱歌榜實(shí)例代碼
在本篇文章里小編給大家整理的是關(guān)于python爬取網(wǎng)易云音樂(lè)熱歌榜實(shí)例代碼,需要的朋友們可以學(xué)習(xí)下。2020-08-08Python Paramiko模塊中exec_command()和invoke_shell()兩種操作區(qū)別
invoke_shell 使用 SSH shell channel,而 exec_command 使用 SSH exec channel,本文主要介紹了Python Paramiko模塊中exec_command()和invoke_shell()兩種操作區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02python下os模塊強(qiáng)大的重命名方法renames詳解
這篇文章主要介紹了python下os模塊強(qiáng)大的重命名方法renames詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03