套接字通訊底層原理

2022-09-02 18:33:10 字數 1285 閱讀 7567

套接字通訊底層原理

由應用程式記憶體拷貝到作業系統,作業系統遵循tcp協議向對方去發,對方接收到並傳送訊號

from socket import *client =socket(af_inet, sock_stream)

client.connect((

'127.0.0.1

', 8081))

#通訊迴圈

while

true:

msg=input('

>>:

').strip() #

msg=''

if len(msg) == 0:continue

client.send(msg.encode(

'utf-8

')) #

client.send(b'')

print('

has send')

data=client.recv(1024)

print('

has recv')

print

(data)

client.close()

客戶端

#

服務端必須滿足至少三點:

#1. 繫結乙個固定的ip和port

#2. 一直對外提供服務,穩定執行

#3. 能夠支援併發

from socket import *server =socket(af_inet, sock_stream)

server.bind((

'127.0.0.1

', 8081))

server.listen(5)

#鏈結迴圈

while

true:

conn, client_addr =server.accept()

print

(client_addr)

#通訊迴圈

while

true:

try:

data = conn.recv(1024)

if len(data) == 0: break

#針對linux系統

print('

-->收到客戶端的訊息:

', data)

conn.send(data.upper())

except

connectionreseterror:

break

conn.close()

server.close()

服務端

套接字通訊

利用三元組 ip位址,協議,埠 就可以標識網路的程序 socket即是一種特殊的檔案,一些socket函式就是對其進行的操作 讀 寫io 開啟 關閉 socket是 open write read close 模式的一種實現,那麼socket就提供了這些操作對應的函式介面 tcp通訊中的socket...

套接字通訊

套接字家族的名字 af unix unix一切皆檔案,基於檔案的套接字呼叫的就是底層的檔案系統來取資料,兩個套接字程序執行在同一機器,可以通過訪問同乙個檔案系統間接完成通訊 套接字家族的名字 af inet 還有af inet6被用於ipv6,還有一些其他的位址家族,不過,他們要麼是只用於某個平台,...

socket 套接字通訊

要通過internet進行通訊,至少需要一對套接字,其中乙個執行在客戶端,稱之為clientsocket,另乙個執行於伺服器端面,稱為serversocket。根據連線啟動的方式以及本地要連線的目標,套接字之間的連線過程可以分為三個步驟 伺服器監聽 客戶端請求 連線確認。伺服器監聽是指服務端套接字並...