在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    327

    瀏覽量

    34052
  • python
    +關注

    關注

    56

    文章

    4808

    瀏覽量

    85046
收藏 人收藏

    評論

    相關推薦

    TCP協議與UDP協議的區別

    。 UDP(用戶數據報協議) : 無連接 :UDP不建立連接,數據可以直接發送,不需要任何握手過程。 不可靠性 :UDP不保證數據的可靠傳輸,數據包可能會丟失,不會重傳。 2. 數據傳輸 TC
    的頭像 發表于 01-22 09:44 ?126次閱讀

    Web端TCP/UDP測試工具!小白必學~

    Web端TCP/UDP測試工具,方便大家進行各種基于TCP和TDP的模擬測試。該測試工具不僅支持TCPUDP測試,還支持SSL,使用極為便
    的頭像 發表于 01-08 18:17 ?287次閱讀
    Web端<b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>測試工具!小白必學~

    TCP三次握手與UDP的區別

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

    ID讀卡器TCP協議QT小程序開發

    、基本概念 TCP是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。它工作在OSI模型的第四層,即傳輸層,為用戶提供可靠的、有序的和無差錯的數據傳輸服務。TCP協議與UDP協議是傳輸層的兩大主要協議,但兩者在設計上有明顯的不
    的頭像 發表于 12-31 10:19 ?161次閱讀
    ID讀卡器<b class='flag-5'>TCP</b>協議QT小程序開發

    如何在Python中使用socket

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

    TCP&UDP調試工具

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

    CMW500進行LTE TCPUDP測試方法

    本文主要介紹TCPUDP測試方法,包含上行速率、下行速率、和并發速率測試,其中:上行業務測試時,智能待測設備要先打開儀表端Iperf后,再打開待測設備端Iperf;非智能待測設備要先打開儀表端
    的頭像 發表于 09-12 08:09 ?2394次閱讀
    CMW500進行LTE <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>測試方法

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

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

    深度解析TCPUDP協議

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

    tcpudp的區別和聯系

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

    使用sep_now的同時能不能使用TCP、UDP連接?

    在使用sep_now的同時能不能使用TCP、UDP連接
    發表于 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 ?1571次閱讀

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

    TCPUDP是兩個最常用的通訊協議。TCP是面向連接的協議,需要在收發數據前與對方建立可靠的連接,建立連接的過程為3次握手,斷開連接的過程為4次揮手,確保數據傳輸的可靠性。UDP是一
    的頭像 發表于 03-15 08:19 ?2029次閱讀
    通信必備知識!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議介紹及使用
    主站蜘蛛池模板: 免费a网| 免费视频网站在线观看 | 亚洲一区二区三区免费 | 一色屋成人免费精品网站 | 全黄毛片 | 美女国产 | 欧美色影视| 天天干天天操天天摸 | 欧美成网站 | 成人在线视频网 | 女18poren69| 欧美人交性视频在线香蕉 | 亚洲精品色图 | aaaa大片 | 日本xxxx69| 欧美一级免费片 | 天天靠天天擦天天摸 | 视频在线精品 | 天天插天天插天天插 | 黄色大秀| 欧美日本三级 | 奇米第四777 | 亚洲一级视频在线观看 | 大又大粗又爽又黄少妇毛片 | 久久国产精品久久久久久 | 亚洲国产精品乱码在线观看97 | 五月婷婷色播 | 三级视频在线播放线观看 | 性久久久久久久久 | 日本黄色美女视频 | 欧美日韩亚洲国内综合网俺 | 免费亚洲一区 | 色在线免费 | 神马福利| 亚洲成色www久久网站 | 亚欧成人乱码一区二区 | 免费在线观看的视频 | 综合网在线 | 亚洲日本一区二区三区 | 国产欧美日韩在线人成aaaa | 日韩欧美中文字幕在线视频 |