基於python實現簡單C/S模式程式碼例項
阿新 • • 發佈:2020-09-16
C/S模式就是指客bai戶端/伺服器模式,du是計算機軟體協同工作的一種模式。zhi
由於Web瀏覽器的興起,B/S模式逐步取代了daoC/S模式,被更廣泛地應用。隨著計算機網路技術的成熟和應用普及,特別是區域網的發展、PC機的出現,越來越多的使用者和企業開始使用計算機管理一些事務。
PC機的資源沒有大型、中型甚至小型主機豐富,但將多臺PC機聯成網,必然會增加資源含量,各個使用者都在網路上來共享所有資源。根據客戶/伺服器(Client/Server簡記為C/S)體系結構的概念,至少用兩臺計算機來分別充當客戶機和伺服器角色。
伺服器端程式碼:
#!/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
設計思路還是那樣的,伺服器端監聽固定埠,等待連線,客戶端來連線,然後互相傳送訊息
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。