基于python實現(xiàn)簡單C/S模式代碼實例
C/S模式就是指客bai戶端/服務器模式,du是計算機軟件協(xié)同工作的一種模式。zhi
由于Web瀏覽器的興起,B/S模式逐步取代了daoC/S模式,被更廣泛地應用。隨著計算機網(wǎng)絡技術的成熟和應用普及,特別是局域網(wǎng)的發(fā)展、PC機的出現(xiàn),越來越多的用戶和企業(yè)開始使用計算機管理一些事務。
PC機的資源沒有大型、中型甚至小型主機豐富,但將多臺PC機聯(lián)成網(wǎng),必然會增加資源含量,各個用戶都在網(wǎng)絡上來共享所有資源。根據(jù)客戶/服務器(Client/Server簡記為C/S)體系結構的概念,至少用兩臺計算機來分別充當客戶機和服務器角色。
服務器端代碼:
#!/usr/bin/pythonimport time, socket, threading# thread handle functiondef 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 objects = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# listen ports.bind((’127.0.0.1’, 9999))# start listens.listen(5)# print promptprint ’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 moduleimport socket# create TCP objects = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# connect sinas.connect((’127.0.0.1’, 9999))# receive welcomeprint s.recv(1024)for data in [’zjw’, ’ygl’, ’lele’]: # send data s.send(data) print s.recv(1024)while True: data = 1
設計思路還是那樣的,服務器端監(jiān)聽固定端口,等待連接,客戶端來連接,然后互相發(fā)送消息
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
