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