python socket模塊學習記錄

python黑馬程序員

通過python內置socket模塊,在電腦本地開發一個服務器,一個客戶端,連接后進行連續的聊天。服務器和客戶端均可輸入exit,主動退出連接。

服務器開發.py

import socket# 創建Socket對象
socket_server = socket.socket()
# 綁定ip地址和端口
socket_server.bind(("localhost", 8888))
# 監聽端口
socket_server.listen(1)  # 整數參數,表示接受的連接數量
# 等待客戶端連接
# result: tuple = socket_server.accept()
# conn = result[0]  #
# address = result[1]
conn, address = socket_server.accept()    # 返回(連接對象,客戶端地址信息)
print(f"接收到了客戶端的連接,客戶端的信息是:{address}")while True:# 接受客戶端信息, 要使用客戶端和服務端的本次連接對象data:str = conn.recv(1024).decode("UTF-8")# recv接受的參數是緩沖區大小,返回bytes對象,用decode轉換為字符串對象print(f"客戶端發來的消息: {data}")# 發送回復消息msg = input("請輸入你要和客戶端回復的消息:")if msg == 'exit':breakmsg = msg.encode("UTF-8") # encode將字符串編碼為字節數組對象conn.send(msg)# 關閉連接
conn.close()
socket_server.close()

客戶端開發.py

import socket# 創建Socket對象
socket_client = socket.socket()
# 連接ip地址和端口
socket_client.connect(("localhost", 8888))while True:# 發送消息msg = input("請輸入要給服務端發送的消息:")if msg == 'exit':breaksocket_client.send(msg.encode("UTF-8"))# 接收返回消息recv_data = socket_client.recv(1024)   # 緩沖區大小,recv方法是阻塞的,直到收到消息為止print(f"服務端回復的消息是:{recv_data.decode('UTF-8')}")# 關閉連接
socket_client.close()

效果:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74271.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74271.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74271.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

7-2 sdut-C語言實驗-逆序建立鏈表

7-2 sdut-C語言實驗-逆序建立鏈表 分數 20 全屏瀏覽 切換布局 作者 馬新娟 單位 山東理工大學 輸入整數個數N,再輸入N個整數,按照這些整數輸入的相反順序建立單鏈表,并依次遍歷輸出單鏈表的數據。 輸入格式: 第一行輸入整數N;&#xff…

針對永磁電機(PMM)的d軸和q軸電流,考慮交叉耦合補償,設計P1控制器并推導出相應的傳遞函數

電流控制回路:針對永磁電機(PMM)的d軸和q軸電流,考慮交叉耦合補償,設計P1控制器并推導出相應的傳遞函數。 1. 永磁電機(PMM)的數學模型 在同步旋轉坐標系( d ? q d - q d?q 坐標系)下,永磁同…

ROS多機通信(四)——Ubuntu 網卡 Mesh 模式配置指南

引言 使用Ad-hoc加路由協議和直接Mesh模式配置網卡實現的網絡結構是一樣的,主要是看應用選擇, Ad-Hoc模式 B.A.T.M.A.N. / OLSR 優點:靈活性高,適合移動性強或需要優化的復雜網絡。 缺點:配置復雜,需手動…

chap1:統計學習方法概論

第1章 統計學習方法概論 文章目錄 第1章 統計學習方法概論前言章節目錄導讀 實現統計學習方法的步驟統計學習分類基本分類監督學習無監督學習強化學習 按模型分類概率模型與非概率模型 按算法分類按技巧分類貝葉斯學習核方法 統計學習方法三要素模型模型是什么? 策略損失函數與…

爬蟲案例-爬取某站視頻

文章目錄 1、下載FFmpeg2、爬取代碼3、效果圖 1、下載FFmpeg FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。 點擊下載: ffmpeg 安裝并配置 FFmpeg 步驟: 1.下載 FFmpeg: 2.訪問 FFmpeg 官網。 3.選擇 Wi…

車載以太網網絡測試-22【傳輸層-DOIP協議-5】

目錄 1 摘要2 DoIP時間參數2.1 ISO 13400定義的時間參數2.2 參數示例 3 DoIP節點內部狀態機4 UDSonIP概述5 總結 1 摘要 本文繼續對DOIP協議進行介紹,主要是DOIP相關的時間參數、時間參數定義以及流程示例。推薦大家對上文專題進行回顧,有利于系統性學習…

(論文總結)思維鏈激發LLM推理能力

研究背景&動機 背景:擴大模型規模已被證實具有提升模型性能和模型效率的功效,但是LLM對于完成推理、算術任務仍有較大不足。 動機:從之前的應用和研究中得知,可以用生成自然語言解釋、使用神經符號等形式語言的方法來提高大模型的算術推理能力&…

前后端開發概述:架構、技術棧與未來趨勢

一、前后端開發的基本概念 1.1 什么是前后端開發? 前后端開發是 Web 開發的兩個核心部分,各自承擔不同的職責: 前端(Frontend) 負責網頁的用戶界面(UI)和用戶體驗(UX)…

anythingLLM結合searXNG實現聯網搜索

1、docker-compose 部署searXNG GitHub - searxng/searxng-docker: The docker-compose files for setting up a SearXNG instance with docker. cd /usr/local git clone https://github.com/searxng/searxng-docker.git cd searxng-docker 2、修改 .env文件 # By default…

人形機器人科普

人形機器人(Humanoid Robot)是一種模仿人類外形和行為的機器人,通常具有頭部、軀干、雙臂和雙腿等結構。它們的設計目標是與人類環境無縫交互,執行復雜的任務,甚至在某些領域替代人類工作。 1. 人形機器人的定義與特點…

【CICD】Ansible知識庫

一、主機清單配置 1. 配置文件路徑 默認路徑 /etc/ansible/hosts 這是 Ansible 的全局默認庫存文件路徑,但許多用戶可能不會直接使用它。項目目錄或自定義路徑 用戶通常會為不同項目創建獨立的庫存文件,例如: 當前目錄下的 hosts、inventor…

ArkUI-List組件

列表是一個復雜的容器,當列表項達到一定數量,使得列表內容超出其范圍的時候,就會自動變為可以滾動。列表適合用來展現同類數據類型。 List的基本使用方法 List組件的構建聲明是這個樣子的 List(value?: {space?:number | string, initial…

Ubuntu實時讀取音樂軟件的音頻流

文章目錄 一. 前言二. 開發環境三. 具體操作四. 實際效果 一. 前言 起因是這樣的,我需要在Ubuntu中,實時讀取正在播放音樂的音頻流,然后對音頻進行相關的處理。本來打算使用的PipewireHelvum的方式實現,好處是可以直接利用Helvum…

【yolo】YOLO訓練參數輸入之模型輸入尺寸

模型輸入尺寸是YOLO訓練和推理過程中非常重要的參數之一。YOLO要求輸入圖像的尺寸是固定的,通常為正方形(如416416、640640等)。這個尺寸直接影響模型的性能和速度。以下是對模型輸入尺寸的詳細介紹: 1. 模型輸入尺寸的作用 統一…

【TI MSPM0】Timer學習

一、計數器 加法計數器:每進入一個脈沖,就加一減法計算器:每進入一個脈沖,就減一 當計數器減到0,觸發中斷 1.最短計時時間 當時鐘周期為1khz時,最短計時時間為1ms,最長計時時間為65535ms 當時…

從WebRTC到嵌入式:EasyRTC如何借助大模型提升音視頻通信體驗

隨著人工智能技術的快速發展,WebRTC與大模型的結合正在為音視頻通信領域帶來革命性的變革。WebRTC作為一種開源實時通信技術,以其低延遲、跨平臺兼容性和強大的音視頻處理能力,成為智能硬件和物聯網設備的重要技術支撐。 而EasyRTC作為基于W…

使用brower use AI 代理自動控制瀏覽器完成任務

第一步:終端運行命令下載 brower use pip install browser-use 第二步: 終端運行命令下載playwright playwright install 第三步:新建test.py代碼,粘貼復制以下代碼 import asyncio import osfrom dotenv import load_doten…

自由學習記錄(45)

頂點片元著色器(important) 1.需要在Pass渲染通道中編寫著色器邏輯 2.可以使用cG或HLSL兩種shader語言去編寫Shader邏輯 3.代碼量較多,靈活性較強,性能消耗更可控,可以實現更多渲染細節 4.適用于光照處理較少&#xf…

Quartus + VScode 實現模塊化流水燈

文章目錄 一、通過VScode編寫Verilog代碼二、模塊化編程三、代碼示例 一、通過VScode編寫Verilog代碼 1、下載Vscode 2、下載相關插件 搜索Verilog就會彈出有如圖所示的插件,下載并安裝 3、創建Quartus項目 4、創建完成后點擊Tools,選擇Options 然后在…

tryhackme——The Lay of the Land

文章目錄 一、網絡基礎設施1.1 內網1.2 DMZ區1.3 網絡枚舉(Network Enumeration) 二、域環境三、用戶和組管理四、安全解決方案4.1 基于主機的安全解決方案4.1.1 防病毒軟件4.1.2 Microsoft Windows Defender4.1.3 主機防火墻4.1.4 安全事件記錄與監控4.…