基于python實現簡單C/S模式代碼實例
C/S模式就是指客bai戶端/服務器模式,du是計算機軟件協同工作的一種模式。zhi
由于Web瀏覽器的興起,B/S模式逐步取代了daoC/S模式,被更廣泛地應用。隨著計算機網絡技術的成熟和應用普及,特別是局域網的發展、PC機的出現,越來越多的用戶和企業開始使用計算機管理一些事務。
PC機的資源沒有大型、中型甚至小型主機豐富,但將多臺PC機聯成網,必然會增加資源含量,各個用戶都在網絡上來共享所有資源。根據客戶/服務器(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
設計思路還是那樣的,服務器端監聽固定端口,等待連接,客戶端來連接,然后互相發送消息
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: