国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

python實現(xiàn)的多任務(wù)版udp聊天器功能案例

2024-09-09 19:02:25
字體:
供稿:網(wǎng)友

本文實例講述了python實現(xiàn)的多任務(wù)版udp聊天器。分享給大家供大家參考,具體如下:

說明

編寫一個有2個線程的程序
線程1用來接收數(shù)據(jù)然后顯示
線程2用來檢測鍵盤數(shù)據(jù)然后通過udp發(fā)送數(shù)據(jù)

要求

實現(xiàn)上述要求
總結(jié)多任務(wù)程序的特點

參考代碼:

import socketimport threadingdef send_msg(udp_socket):  """獲取鍵盤數(shù)據(jù),并將其發(fā)送給對方"""  while True:    # 1. 從鍵盤輸入數(shù)據(jù)    msg = input("/n請輸入要發(fā)送的數(shù)據(jù):")    # 2. 輸入對方的ip地址    dest_ip = input("/n請輸入對方的ip地址:")    # 3. 輸入對方的port    dest_port = int(input("/n請輸入對方的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)建一個子線程用來接收數(shù)據(jù)  t = threading.Thread(target=recv_msg, args=(udp_socket,))  t.start()  # 4. 讓主線程用來檢測鍵盤數(shù)據(jù)并且發(fā)送  send_msg(udp_socket)if __name__ == "__main__":  main()

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 呈贡县| 怀远县| 四会市| 塔城市| 呼和浩特市| 阿拉尔市| 郁南县| 达尔| 东山县| 石屏县| 囊谦县| 土默特右旗| 高邑县| 育儿| 垣曲县| 三都| 双柏县| 方山县| 永寿县| 通山县| 汾阳市| 汶川县| 定兴县| 明溪县| 临潭县| 海盐县| 沅陵县| 恭城| 阳高县| 樟树市| 梁平县| 维西| 荔浦县| 邵阳市| 义乌市| 梧州市| 兴仁县| 麻阳| 景洪市| 景洪市| 溆浦县|