1. 程式人生 > 程式設計 >基於python實現簡單C/S模式程式碼例項

基於python實現簡單C/S模式程式碼例項

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

設計思路還是那樣的,伺服器端監聽固定埠,等待連線,客戶端來連線,然後互相傳送訊息

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。