sk.bind(('127.0.0.1', 9001)) # 申請作業系統的資源,繫結ip和埠
sk.listen(128) # 被動監聽客戶端傳送過來的訊息,數字表示同一時刻能夠連線客戶端的程度
while true: # 為了和多個客戶端進行握手
conn, addr = sk.accept() # 阻塞,當出現客戶端的請求完成連線,並獲取資料和客戶端的資訊
while true:
send_msg = input('>>>')
conn.send(send_msg.encode('utf-8'))
if send_msg.upper() == 'q': # 如果傳送的訊息為q則退出迴圈,關閉連線
break
msg = conn.recv(1024).decode('utf-8')
if msg.upper() == 'q': # 如果傳送的訊息為q則退出迴圈,關閉連線
break
print(msg)
conn.close() # 揮手 斷開與客戶端的連線
sk.close() # 關閉套接字,歸還申請的作業系統的資源
import socket
sk = socket.socket()
sk.connect(('127.0.0.1', 9001)) # 連線到指定伺服器
while true:
msg = sk.recv(1024).decode('utf-8') # 接受服務端發來的訊息,數字代表接受的最大位元組的長度,因為收發訊息都需要以位元組的形式,所以需要的傳送的訊息進行編碼
if msg.upper() == 'q': # 收到的訊息為q則退出程式
break
print(msg)
send_msg = input('>>>')
sk.send(send_msg.encode('utf-8')) # 傳送的訊息為q則退出程式
if send_msg.upper() == 'q':
break
sk.close() # 關閉套接字
Tcp協議簡讀
tcp提供一種面向連線的,可靠的位元組流服務。面向連線意味著兩個使用tcp的應用 通常是乙個客戶和乙個伺服器 在彼此交換資料之前必須先建立乙個tcp連線。這個過程跟打 相似,先撥號振鈴,等待對方摘機應答,然後才說是誰。在乙個tcp連線中,僅有兩方進行彼此通訊。1.應用資料被分割成tcp認為最適合傳送...
基於tcp協議的socket
serve服務端 import socket sk socket.socket 例項物件 sk.bind 127.0.0.1 8080 集合內設定ip和埠,利用bind方法 sk.listen 監聽資訊 conn,addr sk.accept 接受到資訊 while true ret conn.re...
基於TCP協議的C S通訊
一 環境 os win10 ide visual studio 2010 二 在同一解決方案下新建兩個win32控制台應用程式,專案名分別是server和client,分別在兩個專案的原始檔下新增server.cpp和client.cpp server.cpp include include inc...