首页
/
每日頭條
/
科技
/
python實現socket多客戶端連接
python實現socket多客戶端連接
更新时间:2025-07-06 16:18:15
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
推荐阅读
什麼軟件可以改變自己的聲音
什麼軟件可以改變自己的聲音
小夥伴們平時有看過整蠱視頻嗎?很多整蠱視頻的配音都會使用上一些變聲器來改變自己的聲音,這樣能夠讓配音充滿搞笑的氣氛。你們會想要自己也拍攝一些改變聲音的整蠱視頻嗎?要想拍攝這樣的視頻,首先就需要有軟件能改變聲音。那你們知道改變聲音的軟件哪個好...
2025-07-06
香港公司注冊後是否有組織機構代碼證
香港公司注冊後是否有組織機構代碼證
在國内大家都知道,組織機構代碼是我國頒發給企業唯一的、終身不變的身份證明,類似居民身份證一樣。像申請賬戶、做賬報稅等離不開代碼證。那麼香港公司注冊後是否有組織機構代碼證?一、沒有香港的辦公地址可以注冊香港公司嗎?首先我們該如何在國内注冊一家...
2025-07-06
vivo的新系統好用嗎
vivo的新系統好用嗎
vivo新系統宣傳标語:裡裡外外哪哪都好可是它真的就那麼好嗎?凡事有優點就一定也會有缺點,今天我們就來聊聊vivo新系統ocean的優缺點。優點:1.操作性vivo這次新系統的升級,操作性可謂是提升很大,這個當時是驚豔到我了。首先是它的桌面...
2025-07-06
釘釘打卡什麼時候需要人臉識别
釘釘打卡什麼時候需要人臉識别
現在許多企業和單位都在用釘釘考勤。我們單位在疫情防控期間也啟用了釘釘考勤,方便是方便了,可是對于我這個健忘症來說,總是發生到單位忘記打卡的事。為了不忘記打卡,我手機按上下班時間定上鬧鐘,可是還是因為到單位後因為手頭的工作忘記打卡。手機更新鴻...
2025-07-06
提單系統知識彙總貼
提單系統知識彙總貼
相信大家在實際的業務操作過程中,和貨代打交道會遇到很多運輸專業術語,大部分隻有個縮寫,讓人費解,今天小編把這些縮寫總結下來,分享給大家:提單及運輸業務相關AdvancedB/L預借提單Ante-datedB/L倒簽提單AWB(AirWayB...
2025-07-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved