佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Python實(shí)現(xiàn)多任務(wù)版的udp聊天器

Python實(shí)現(xiàn)多任務(wù)版的udp聊天器

熱門標(biāo)簽:服務(wù)器配置 銀行業(yè)務(wù) 鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 網(wǎng)站文章發(fā)布 智能手機(jī)

本文實(shí)例為大家分享了Python實(shí)現(xiàn)多任務(wù)版的udp聊天器,供大家參考,具體內(nèi)容如下

一、案例示例

二、案例說(shuō)明

1、編寫一個(gè)有2個(gè)線程的程序。
2、線程1用來(lái)接收數(shù)據(jù)然后顯示。
3、線程2用來(lái)檢測(cè)鍵盤數(shù)據(jù)然后通過(guò)udp發(fā)送數(shù)據(jù)。

三、參考代碼

import socket
import threading


def send_msg(udp_socket):
    """獲取鍵盤數(shù)據(jù),并將其發(fā)送給對(duì)方"""
    while True:
        # 1. 從鍵盤輸入數(shù)據(jù)
        msg = input("\n請(qǐng)輸入要發(fā)送的數(shù)據(jù):")
        # 2. 輸入對(duì)方的ip地址
        dest_ip = input("\n請(qǐng)輸入對(duì)方的ip地址:")
        # 3. 輸入對(duì)方的port
        dest_port = int(input("\n請(qǐng)輸入對(duì)方的port:"))
        # 4. 發(fā)送數(shù)據(jù)
        udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port))


def recv_msg(udp_socket):
    """接收數(shù)據(jù)并顯示"""
    while True:
        # 1. 接收數(shù)據(jù)
        recv_msg = udp_socket.recvfrom(1024)
        # 2. 解碼
        recv_ip = recv_msg[1]
        recv_msg = recv_msg[0].decode("utf-8")
        # 3. 顯示接收到的數(shù)據(jù)
        print(">>>%s:%s" % (str(recv_ip), recv_msg))


def main():
    # 1. 創(chuàng)建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 2. 綁定本地信息
    udp_socket.bind(("", 7890))

    # 3. 創(chuàng)建一個(gè)子線程用來(lái)接收數(shù)據(jù)
    t = threading.Thread(target=recv_msg, args=(udp_socket,))
    t.start()
    # 4. 讓主線程用來(lái)檢測(cè)鍵盤數(shù)據(jù)并且發(fā)送
    send_msg(udp_socket)


if __name__ == "__main__":
    main()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • python實(shí)現(xiàn)的多任務(wù)版udp聊天器功能案例
  • python使用udp實(shí)現(xiàn)聊天器功能

標(biāo)簽:沈陽(yáng) 河南 新疆 紅河 長(zhǎng)治 滄州 上海 樂山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python實(shí)現(xiàn)多任務(wù)版的udp聊天器》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    行唐县| 北票市| 湄潭县| 皋兰县| 什邡市| 仙桃市| 朝阳县| 沅陵县| 海门市| 吉林市| 龙川县| 徐汇区| 都匀市| 维西| 华安县| 仁寿县| 道真| 建瓯市| 苏州市| 洞口县| 沈丘县| 台中市| 云阳县| 八宿县| 咸丰县| 信丰县| 朝阳市| 应用必备| 龙胜| 连州市| 广水市| 久治县| 龙山县| 潜山县| 昂仁县| 都昌县| 葵青区| 安溪县| 南陵县| 石渠县| 婺源县|