這篇文章主要介紹“怎么用Python基于udp協(xié)議實現(xiàn)聊天小程序”,在日常操作中,相信很多人在怎么用Python基于udp協(xié)議實現(xiàn)聊天小程序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Python基于udp協(xié)議實現(xiàn)聊天小程序”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)、程序開發(fā)、微網(wǎng)站、小程序設(shè)計等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。一、需求說明
基于udp協(xié)議的聊天小程序:
輸入發(fā)送方的ip地址
輸入發(fā)送方的端口號
輸入本機(jī)接受信息時要綁定的端口號
輸入要發(fā)送的消息
可給別人發(fā)送消息,同時也可以接受別人發(fā)來的消息。
二、實現(xiàn)源碼
# -*- coding: utf-8 -*- # __author : Demon # date : 1/19/18 4:34 PM # 能收也能發(fā) from threading import * from socket import * import socket def recvData(): udpSocket.bind(("", recvPort)) while True: recvInfo = udpSocket.recvfrom(1024) print("\r>>>%s\n<<<" % recvInfo[0].decode("utf-8"), end="") def sendData(): while True: msg = input("<<<") udpSocket.sendto(msg.encode("utf-8"), (ipAddr, sendPort)) udpSocket = socket.socket(AF_INET, SOCK_DGRAM) ipAddr = None sendPort = None recvPort = None def main(): global sendPort global recvPort global ipAddr ipAddr = input("請輸入要發(fā)送的ip地址: ") sendPort = int(input("請輸入要發(fā)送的端口號: ")) recvPort = int(input("請輸入本機(jī)要綁定的端口號: ")) tr = Thread(target = recvData) tr.start() ts = Thread(target = sendData) ts.start() tr.join() ts.join() udpSocket.close() if __name__ == '__main__': main()
三、代碼說明和演示
要發(fā)送的ip地址,如果不輸入,即代表你輸入的是"",則表示是當(dāng)前機(jī)器的ip地址
\r 表示打印時,先清除原有的輸入
代碼采用utf-8編碼,要注意發(fā)送與接收時要采用相同的編碼與解碼方式
到此,關(guān)于“怎么用Python基于udp協(xié)議實現(xiàn)聊天小程序”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享題目:怎么用Python基于udp協(xié)議實現(xiàn)聊天小程序-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/dpocjj.html