C S通訊模型

2021-07-23 11:27:27 字數 1359 閱讀 3643

#server端:"""

服務端建立socket步驟:

1、建立socket物件 -> 2、繫結ip及埠號 ->

3、監聽埠號,等待客戶端請求 ->響應客戶端請求"""

import socket

import time

sock = socket.socket(socket.af_inet, socket.sock_stream)

print type(sock)

sock.bind(('localhost', 8001)) #繫結ip位址和埠號

sock.listen(5)

while true:

thistime=time.strftime('%y-%m-%d-%h-%m-%s',time.localtime())

try:

connection,address = sock.accept()

print type(connection)

print type(address)

print

"address:", address

print

"------------------------"

connection.settimeout(5)#設定超時間

buf = connection.recv(1024) #設定接收長度

print (thistime+"接收到:"+buf+"")

connection.send(thistime+':'+buf)

except socket.timeout:

print

'time out'

connection.close()

#client端:

import socket

host = 'localhost'

#繫結的ip

port = 8001

#繫結的埠"""

客戶端連線服務端步驟:

1、建立客戶端socket物件 -> 2、建立與服務端的連線 -> 3、傳送資訊 -> 4、處理服務端的返回資訊"""

while true:

temp=raw_input("輸入任意字元傳送:")

if temp=="exit":

break

s = socket.socket(socket.af_inet, socket.sock_stream)

strd=temp+""

s.connect((host, port))

s.send(strd+"")

data = s.recv(1024)

print data

s.close()

C S通訊模型與B S通訊模型介紹

1 客戶端與伺服器之間的通訊模型 基於socket連線的客戶端與伺服器之間的通訊模型圖如上圖所示,整個通訊過程如下所示 1 伺服器端首先啟動監聽程式,對指定的埠進行監聽,等待接收客戶端的連線請求 2 客戶端程式啟動,請求連線伺服器的指定埠 3 伺服器收到客戶端的連線請求後與客戶端建立套接字 sock...

C S通訊模型與B S通訊模型介紹

1 客戶端與伺服器之間的通訊模型 基於socket連線的客戶端與伺服器之間的通訊模型圖如上圖所示,整個通訊過程如下所示 1 伺服器端首先啟動監聽程式,對指定的埠進行監聽,等待接收客戶端的連線請求 2 客戶端程式啟動,請求連線伺服器的指定埠 3 伺服器收到客戶端的連線請求後與客戶端建立套接字 sock...

高效通訊模型之 非同步通訊模型

非同步模型 非同步和同步 同步,就是在發出乙個功能呼叫時,在沒有得到結果前,呼叫不返回 非同步,當乙個非同步過程呼叫發出後,呼叫者不能立即得到呼叫結果,而是通過狀態,通知和 來通知呼叫者。通過檢查狀態來判斷非同步呼叫結果,效率會很低,因為需要週期性檢查狀態 函式和通知差不多 同步呼叫與阻塞呼叫 對於...