91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python udp協議發送接收數據

發布時間:2020-07-25 13:24:25 來源:網絡 閱讀:1296 作者:蓋世英雄iii 欄目:編程語言

Socket

socket簡稱套接字,是進程間通信的一種方式。與其他的方式的進程間的通訊的方式不同的是,socket是實現了主機間進程間的通訊。我們網絡上的各種服務都是基于socket來完成的。例如QQ.微信。 

怎么樣創建socket呢。


創建一個tcpsocket: 

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

創建一個UDP類型的socket;


# # 創建套接字


# udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)


UDP介紹

udp—–數據報文協議,是一個無連接的簡單的面向數據報的運輸層協議,UDP不提供可靠性,他只是將應用程序傳送給IP層的數據報文發送出去,并不保證能否達到目的地。由于UDP在傳輸的過程中不需要和服務器建立鏈接。且沒有超時重發的的機制。故而傳輸很快。




UDP 發送數據

import socket

def main():

    # 1. 創建套接字
    udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    #  2. 設置目的端口和IP
    sendArr = ('192.168.31.174',65535)
    while True:
        sendData = input('請輸入你要發送的信息')
        if sendData == "exit":
            break
            # 3. 發送數據
            # 發送數據,此處有一個坑是sendto()里面的參數必須二進制數據,不能直接傳字符串
        udpSocket.sendto(sendData.encode('utf-8'),sendArr)
    # 4. 關閉套接字
    udpSocket.close()

if __name__ == '__main__':
    main()


UDP 接收數據

import socket

def main():
    # 1. 創建UDP套接字
    udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    # 2. 綁定端口號
    udpSocket.bind(("", 7789))
    while True:
        # 3. 接收打印數據
        recvData = udpSocket.recvfrom(1024)
        content, destInfo = recvData
        print("content is %s"%content)
        # print("content is %s"%content.decode("utf-8"))
        print("content is %s" % content.decode("gbk"))  # windows默認編碼為gbk
        print(recvData)

        # 4. 關閉套接字
    udpSocket.close()

if __name__ == '__main__':
    main()


UDP簡單半雙工聊天實現

# Author:Maomao Li

import socket


def send_msg(udp_socket):
    """發送信息"""
    # 發送
    # 獲取需要發送的內容
    desc_ip = input("請輸入需要發送的目的IP:")
    desc_port = int(input("請輸入需要發送的目的端口:"))
    send_data = input("請輸入需要發送的數據:")
    udp_socket.sendto(send_data.encode("utf-8"), (desc_ip, desc_port))


def resv_msg(udp_socket):
    """接收數據"""
    resv_data = udp_socket.recvfrom(1024)
    resv_msg, resv_ip = resv_data
    print("%s:%s" % (resv_msg.decode("utf-8"), resv_ip))


def mian():
    # 創建套接字
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    # 綁定信息
    udp_socket.bind(("",7789))

    # 循環來進行處理事情
    while True:
        op = print("請輸入功能 1發送 2接收 0退出:")
        if op == "1":
            send_msg(udp_socket)
        elif op == "2":
            resv_msg(udp_socket)
        elif op == "0":
            break
        else:
            print("輸入錯誤")

if __name__ == '__main__':
    mian()


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南市| 阿拉善右旗| 星座| 阜康市| 侯马市| 湖州市| 望城县| 余江县| 西平县| 建阳市| 辽宁省| 三穗县| 绥宁县| 太谷县| 棋牌| 巴塘县| 漯河市| 广宗县| 峨边| 嘉善县| 麻江县| 布尔津县| 东丰县| 梨树县| 隆尧县| 司法| 商南县| 庆城县| 泸州市| 桂平市| 牟定县| 襄樊市| 株洲县| 新巴尔虎左旗| 马龙县| 小金县| 鄂尔多斯市| 久治县| 武汉市| 兴海县| 海安县|