色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python修煉——UDP、TCP

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-25 18:00 ? 次閱讀

今日思維導圖

每日代碼

udp聊天器

import socket

"""

這段代碼可以實現循環進行收發消息,但是同一時間只能進行一個動作

"""

def send_msg(udp_socket):

"""發送數據"""

# 發送數據

client_ip = input("請輸入對方ip: ")

client_port = int(input("請輸入對方端口:"))

send_data = input("請輸入要發送的內容:")

# 發送數據,使用encode進行編碼,ip和端口要放在元組中

udp_socket.sendto(send_data.encode("utf-8"), (client_ip, client_port))

def recv_msg(udp_socket):

"""接收數據"""

# 接收數據 ,需要指定要接收的字節,1024就是 1KB

recv_data = udp_socket.recvfrom(1024)

# recvfrom返回的數據時一個元組,第一個元素是地址,第二個元素是接收到的消息

# 使用decode 進行解碼

print("%s: %s" % (str(recv_data[1]), recv_data[0].decode("utf-8")))

def main():

# 創建套接字

udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM

# 綁定本地信息,可以知道ip和端口

udp_socket.bind(("", 6666))

while True:

print("---udp聊天器---")

print("1. 發送數據")

print("2. 接收數據")

print("0. 退出")

op = input("請輸入要進行的操作")

if op == "1":

# 調用發送數據的函數

send_msg(udp_socket)

elif op == "2":

# 調用接收數據的函數

recv_msg(udp_socket)

elif op == "0":

break

else:

print("輸入有誤,請重新輸入")

udp_socket.close()

if __name__ == "__main__":

main()

tcp服務器代碼

import socket

"""tcp服務器"""

def main():

# 創建套接字, tcp的參數時SOCK_STREAM

tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 綁定本地地址, 本地地址和端口可能需要重新指定

tcp_socket.bind(("", 6666))

# 由主動變成被動接聽, listen方法可以指定同時連接的客戶端

tcp_socket.listen(128)

while True:

# 循環接聽客戶

# 等待客戶端連接, 當有客戶連接,accept方法返回一個元組

# 元組第一個元素是一個新的套接字,只針對于當前連接的這個客戶端;第二個元素是客戶端地址

colient_socket, colient_addr = tcp_socket.accept()

# 接收數據

print(colient_addr)

while True:

# 循環和同一個客戶端聯系

colient_data = colient_socket.recv(1024)

print(colient_data.decode("utf-8"))

if colient_data:

# 進行判斷,只有客戶端還在發送數據,就返回一個數據給客戶端

# 發揮一部分數據給客戶端

colient_socket.send("嘿嘿嘿".encode("utf-8"))

else:

# 沒有數據就

break

# 關閉套接字

colient_socket.close()

tcp_socket.close()

if __name__ == "__main__":

main()

tcp客戶端代碼

import socket

"""tcp客戶端"""

def main():

# 創建套接字

tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 鏈接服務器, tcp客戶端需要先鏈接服務器

tcp_socket.connect(("192.168.xxx.xxx", 6666))

while True:

# 循環和服務器聯系

# 發送數據

print("輸入【exit】退出鏈接")

send_data = input("請輸入要發送的數據:")

if send_data == "exit":

break

tcp_socket.send(send_data.encode("utf-8"))

# 接收服務器返回的數據

server_data = tcp_socket.recv(1024)

print(server_data.decode("utf-8"))

# 關閉套接字

tcp_socket.close()

if __name__ == "__main__":

main()

在 tcp 這里碰見了一個奇怪的BUG

服務器和客戶端運行起來后,輸入正常數據沒有問題,當只輸入一個回車時,程序不發送數據也不接受數據只能強行接受,問了下,沒有解決,這玩意好像是因為操作系統底層的原因, 后面再研究研究。

今天內容需要記憶和理解都比較多,不過還算可以接受。

最近在試著使用 Typora 練習 Markdown 寫作方式,不是很熟練,寫出來有點亂,慢慢練習熟練了再使用這種方式吧。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • UDP
    UDP
    +關注

    關注

    0

    文章

    326

    瀏覽量

    33989
  • python
    +關注

    關注

    56

    文章

    4798

    瀏覽量

    84801
收藏 人收藏

    評論

    相關推薦

    TCP三次握手與UDP的區別

    在計算機網絡中,數據傳輸的可靠性和效率是兩個關鍵因素。為了滿足不同的應用需求,設計者們開發了多種傳輸層協議。其中,TCP(傳輸控制協議)和UDP(用戶數據報協議)是最常用的兩種。它們在數據傳輸機制
    的頭像 發表于 01-03 17:35 ?331次閱讀

    如何在Python中使用socket

    UDP。 2. 創建Socket 在Python中,我們使用 socket 模塊來創建socket。以下是創建一個TCP socket的示例代碼: import socket # 創建一個socket
    的頭像 發表于 11-01 16:10 ?248次閱讀

    TCP&UDP調試工具

    TCP&UDP調試工具
    發表于 10-30 10:41 ?1次下載

    功能強大的網絡通訊工具,支持各類TCPUDP、HTTP的通訊協議

    功能強大的網絡通訊工具,支持各類TCPUDP、HTTP的通訊協議,簡單方便,包含歷史記憶功能,體積小,服務器調試最合適
    發表于 09-05 11:51 ?0次下載

    深度解析TCPUDP協議

    計算機與網絡設備要相互通信,它們必須遵循一種共同的方法或標準。對于不同硬件平臺和操作系統之間的交互而言,這種共同遵循的規范尤為關鍵。我們將這一系列指導通信過程的規則稱為“協議”。TCPUDP
    的頭像 發表于 09-02 14:53 ?427次閱讀
    深度解析<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議

    tcpudp的區別和聯系

    一、引言 在現代網絡通信中,數據傳輸是至關重要的。為了確保數據的可靠傳輸,網絡協議發揮著關鍵作用。傳輸控制協議(TCP)和用戶數據報協議(UDP)是兩種常用的網絡協議,它們在許多應用場景中發
    的頭像 發表于 08-16 11:06 ?624次閱讀

    使用sep_now的同時能不能使用TCPUDP連接?

    在使用sep_now的同時能不能使用TCPUDP連接
    發表于 07-22 06:10

    請問esp8266 rtos sdk能否同時啟動tcp socke clent和udp server?

    我在用的是V1.5的rtos 的sdk,想在esp8266上同時啟動tcp的socket client和udp的socket server。 但是我發現,只要我一啟動upd server,tcp
    發表于 07-12 07:07

    請問ESP32 S3既能TCP通信同時也能UDP通信嗎?

    有一個應用需求,即想通過TCP這種保證到達的方式傳輸指令,又想通過UDP這種方式做圖傳,不知道ESP32 S3模組或者Espressif 有沒有合適的模組同時支持TCPUDP
    發表于 06-07 07:17

    udp是什么協議?udp協議介紹

    要求不高,但對時延和帶寬有要求的應用場景。 UDP協議的主要特點包括: 1. 無連接:UDP不需要建立連接,可以直接發送數據。 2. 輕量級:UDP沒有TCP那么復雜的控制機制,頭部信
    的頭像 發表于 04-19 15:57 ?1439次閱讀

    通信必備知識!TCPUDP協議介紹及使用

    TCPUDP是兩個最常用的通訊協議。TCP是面向連接的協議,需要在收發數據前與對方建立可靠的連接,建立連接的過程為3次握手,斷開連接的過程為4次揮手,確保數據傳輸的可靠性。UDP是一
    的頭像 發表于 03-15 08:19 ?1962次閱讀
    通信必備知識!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議介紹及使用

    能不能說一說TCPUDP的區別?

    能不能說一說TCPUDP的區別? TCP(傳輸控制協議)和UDP(用戶數據報協議)是互聯網傳輸層協議的兩種常見形式。它們在數據傳輸、連接管理和可靠性等方面存在一些顯著差異。本文將詳細
    的頭像 發表于 02-04 11:03 ?552次閱讀

    udp是什么意思 簡述TCPUDP的區別和聯系

    UDP (User Datagram Protocol) 是一種在計算機網絡中使用的傳輸層協議。它與TCP (Transmission Control Protocol) 一樣,都是在因特網協議套件
    的頭像 發表于 02-02 16:33 ?1342次閱讀

    TCPUDP協議有什么區別?如何通過網關實現TCP協議通信?

    四次握手就是指斷開的過程。而UDP可以立即傳輸數據,并不需要建立三次握手連接。兩者相比,TCP就像是掛了專家號,可以保證及時看病;而UDP就像是掛了普通門診,需要排隊才能看病。 另一方面,TC
    的頭像 發表于 01-24 11:07 ?623次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>協議有什么區別?如何通過網關實現<b class='flag-5'>TCP</b>協議通信?

    UDPTCP的主要區別 UDP能否像TCP一樣實現可靠傳輸?

    UDPTCP的主要區別 UDP能否像TCP一樣實現可靠傳輸?TCP如何實現可靠性傳輸? UDP
    的頭像 發表于 01-22 16:10 ?835次閱讀
    主站蜘蛛池模板: 性肥胖BWBWBW| 日本免费无码A专区在线观看| 伦理片午夜在线视频| 亚洲国产精品免费观看| 范冰冰hdxxxx| 色久久综合视频本道88| 99久久综合国产精品免费| 九九热在线观看| 亚洲欧洲日产国码久在线| 国产精品人妻在线观看| 睡觉被偷偷进入magnet| 高清国产mv视频在线观看| 人妻夜夜爽99麻豆AV| 被老头下药玩好爽| 欧美一级成人影院免费的| qvod在线观看| 日日摸夜夜添无码AVA片| 国产AV无码成人黄网站免费| 失禁h啪肉尿出来高h| 国产精品亚洲二线在线播放| 亚洲AV精品乱码专区| 国产亚洲精品免费视频| 亚洲精品无码AV中文字幕蜜桃| 国产综合欧美区在线| 一个人在线观看免费视频| 老师紧窄粉嫩| porono日本xxx| 偷偷鲁青春草原视频| 国产亚洲精品视频在线网| 一天不停的插BB十几次| 免费伦理片网站| 调教玩弄奶头乳夹开乳震动器| 无码日韩人妻精品久久蜜桃入口| 国产自啪偷啪视频在线| 中国xxxxxz| 热99RE久久精品国产| 国产久久re6免费热在线| 亚洲午夜精品A片久久WWW软件| 巨乳中文无码亚洲| 第四色男人天堂| 亚洲熟女丰满多毛XXXXX|