首页
/
每日頭條
/
科技
/
python實現socket多客戶端連接
python實現socket多客戶端連接
更新时间:2025-05-02 07:55:21
UDP通信步驟

引用UDP通信步驟一、UDP套接字服務端架構步驟

1. //初始化套接字環境WSAStartup2. //初始化地址和端口

3. //創建UDP套接字socket4. //綁定端口bind

5. //用recvfrom接收數據

6. //用sendto發送數據

7. //退出或者返回第5步繼續

二、UDP客戶端架構步驟

1. //初始化套接字環境WSAStartup2. //初始化地址和端口

3. //創建UDP套接字socket4. //用sendto發送數據

5. //用recvfrom接收數據

UDP Socket

引用UDP SocketUDP Socket網絡編程的API不多,socket()用于創建套接字,close()用于關閉套接字,sendto()用于發送數據,recvfrom()用于接收數據。

bind()顧名思義是綁定,TCP可以綁定,UDP也可以,bind用于UDP等于告訴内核:這個套接字跟網絡遠端的一個對子關聯上了。以後就可以直接調用send()往那個标識的主機上的進程發送UDP數據報了。而沒有bind之前,隻能通過sendto()接口(通過參數指定目的地)。UDP套接字recv()返回的是UDP數據報的數據部分(Payload),不包括UDP數據報首部,這是因為UDP首部的字段用于分發或者校驗,不需要透傳給應用程序。

python實現socket多客戶端連接(Python應用一使用socket創建UDP服務器端和客戶端)1

python_UDP一、python_UDP客戶端

#這是 UDP 客戶端 import socket HOST = '127.0.0.1' #本機測試 PORT = 1000 #端口号 BUFSIZ = 1024 #接收消息的緩沖大小 ADDR = (HOST, PORT) print(ADDR) UDPCliSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #創建客戶端套接字 while True: ##step.1## data = input('輸入發送内容> ') if not data: break UDPCliSock.sendto(bytes(data,'utf-8'), ADDR) #由客戶端向服務端發送【字節數組】 ##step.2## data, ADDR = UDPCliSock.recvfrom(BUFSIZ) #接收服務端回應的【字節數組】 if not data: #如果接收服務器信息失敗,或沒有消息回應 break print('服務器:', ADDR, str(data,'utf-8')) #打印回應消息 pass UDPCliSock.close() #關閉客戶端socket

python實現socket多客戶端連接(Python應用一使用socket創建UDP服務器端和客戶端)2

二、python_UDP服務端

#這是 UDP 服務端 import socket HOST_NAME = socket.gethostname() HOST = socket.gethostbyname(HOST_NAME) #主機号可為空白 HOST = "" PORT = 1000 ADDR = (HOST, PORT) #地址與端口 BUFSIZ = 1024 #接收數據緩沖大小 UDPSerSock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #創建udp服務器套接字 UDPSerSock.bind(ADDR) #套接字與地址綁定-服務端特有 print(ADDR) while True: #接收客戶端發來的字節數組-此處監聽 data, addr = UDPSerSock.recvfrom(BUFSIZ) #接收客戶端發來的字節數組,data.decode()='char',data.upper()='bytes' print("Data Receive from Client {}.\n {}".format(addr, data.decode())) #向客戶端發送字節數組 UDPSerSock.sendto(bytes("Data Sent from the Server. 'Server Success'!", "utf-8"), addr) #向客戶端發送字節數組, bytes("char", "utf-8") pass UDPSerSock.close() #關閉服務端socket

python實現socket多客戶端連接(Python應用一使用socket創建UDP服務器端和客戶端)3

問題解決

netstat -aon|findstr 1000 # 查找1000端口的進程PID tasklist /fi "pid eq 5672" # 尋找PID占用對應的軟件

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
抖音短運營方式
抖音短運營方式
抖音短運營方式?雖然移動互聯網的紅利已經見頂,但短視頻行業仍保持高速增長據抖音總裁張楠預測,到2020年,國内短視頻行業的總日活用戶數将達到10億為幫助創作者實現流量變現,抖音近日宣布推出“創作者成長計劃”,通過優化流量扶持、提供更多創作工...
2025-05-02
加工中心小數點參數
加工中心小數點參數
加工中心代碼小數點問題斜杠作用GOTO意思現在來講一下小數點的問題代碼裡坐标後面一般都帶有小數點,比如:G90G0X23.1Y534.4坐标XY都帶有小數點正常來講機床都是識别的,但有些機床卻不能識别小數點比如G90G1X21Y4F100他...
2025-05-02
char函數定義數組
char函數定義數組
我之前的一篇文章中講過,如何利用CHAR函數實現字符"世界杯"的展現,今天仍是這個話題,還将引入CODE函數,并着重講解這兩個函數的利用實例及技巧。以後還會有篇文章講一下它們的綜合利用。這篇文章将會給不熟悉正則運算的朋友解決一大類的問題。首...
2025-05-02
電腦主機箱後面的接口怎麼看正反
電腦主機箱後面的接口怎麼看正反
電腦主機箱後面的接口怎麼看正反?正面插不進去那就表示不是正面可以根據形狀來判斷,下面我們就來說一說關于電腦主機箱後面的接口怎麼看正反?我們一起去了解并探讨一下這個問題吧!電腦主機箱後面的接口怎麼看正反正面插不進去那就表示不是正面。可以根據形...
2025-05-02
手機業務不賣做大端雲協同
手機業務不賣做大端雲協同
澎湃新聞記者周玲1月27日,澎湃新聞記者從知情人士處獲悉,華為消費者業務CEO餘承東将兼任華為雲與計算業務集團負責人。華為已經在内部公示這一人事任命。餘承東講兼任華為雲和計算業務負責人這也意味着餘承東将同時負責手機、汽車以及雲業務。一位華為...
2025-05-02
Copyright 2023-2025 - www.tftnews.com All Rights Reserved