socket發訊息,使用者態和核心態

2022-05-06 06:03:10 字數 715 閱讀 2073

系統快取就相當於核心態記憶體,就是圖中的小箱子**:

1

from socket import *

23 tcp_server =socket(af_inet, sock_stream)

4 tcp_server.bind(('

127.0.0.1

', 8080))

5 tcp_server.listen(125)

6 conn, addr = tcp_server.accept() #

服務端阻塞

7print('

雙向連線是

', conn)

8print('

客戶端位址

', addr)

9while

true:

10 data = conn.recv(1204)

11print('

客戶端發來的訊息是

', data.decode())

12conn.send(data.upper())

13conn.close()

14 tcp_server.close()

如果傳送的是空白,那麼socket會把空白從使用者態傳送到核心態,然而核心態不會把空白傳送出去,導致客戶端卡主。

socket實現UDP收發訊息

import socket while true 建立udp套接字 udp socket socket.socket socket.af inet,socket.sock dgram 設定接收方的位址和埠 根據具體情況更改 dest addr 255.255.255.255 8080 從鍵盤輸入資料...

socket收發訊息底層原理

服務端和客戶端想要通訊,底層需要internet物理連線,網絡卡配備有ip位址和mac位址,網絡卡收發的訊息是位元組流。服務端程式和客戶端程式工作中應用層,服務端程式要想發包,必須一層一層往下走,走到網絡卡那一層,將資料轉化成二進位制才能送到客戶端 客戶端網絡卡收到包,一層一層往上送,然後客戶端程式...

核心態和使用者態

在核心態下,cpu可執行任何指令,在使用者態下cpu只能執行非特權指令。當cpu處於核心態,可以隨意進入使用者態 而當cpu處於使用者態,只能通過中斷的方式進入核心態。一般程式一開始都是執行於使用者態,當程式需要使用系統資源時,就必須通過呼叫軟中斷進入核心態。當乙個任務 程序 執行系統呼叫而陷入核心...