"""
udp套接字服務端
"""from socket import
*# 建立資料報套接字
sockfd = socket(af_inet,sock_dgram)
# 繫結位址
server_addr =
('0.0.0.0'
,8888
)sockfd.bind(server_addr)
# 訊息收發
while
true
: data,addr = sockfd.recvfrom(
1024
)print
("收到的訊息:"
,data.decode())
sockfd.sendto(b'thank'
,addr)
# 關閉套接字
sockfd.close(
)
"""
udp套接字 客戶端
"""from socket import
*# 伺服器位址
host =
'176.215.155.159'
port =
8888
addr =
(host,port)
# 建立套接字
sockfd = socket(af_inet,sock_dgram)
# 收發訊息
while
true
: data =
input
("mas>>")if
not data:
break
sockfd.sendto(data.encode(
),addr)
msg,addr = sockfd.recvfrom(
1024
)print
("from server:"
,msg.decode())
# 關閉套接字
sockfd.close(
)
"""
套接字常用屬性
"""from socket import
*# 建立乙個tcp套接字
s = socket(
)s.bind(
('176.215.155.170'
,8886))
s.listen(3)
# c,addr = s.accept()
print
("位址型別:"
,s.family)
print
("套接字型別:"
,s.type
)print
(,s.getsockname())
print
("描述符:"
,s.fileno())
print
(,s.getpeername(
))
UDP套接字程式設計
與面向連線的協議相比,面向無連線協議極為不同。其中乙個重要的不同點就是客戶端與伺服器之間不必建立連線。對於udp套接字程式設計而言,伺服器建立套接字後,呼叫bind 函式將套接字與準備接收資料的介面繫結在一起。和tcp程式設計不同的是,應用程式不必呼叫listen 和accept 函式等待客戶端的連...
UDP套接字程式設計
udp是使用者資料報協議,與tcp協議一樣,在網路中處理資料報,是一種無連線的傳輸層協議,具有不可靠性,udp有不提供資料報分組 組裝和不能對資料報進行排序的缺點,也就是說,當報文傳送之後,是無法得知其是否安全完整到達的。基於udp的客戶端伺服器 伺服器 include include includ...
關於udp套接字
setsockopt so reuseaddr 同一終端先後兩次執行udp server,該選項無影響。兩個 或多個 終端同時執行udp server,配置該選項時,僅第乙個終端執行成功 不配置時,所有終端均可成功執行udp server。udp客戶端呼叫connect 實現 不發起三次握手 僅將服...