溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python編寫簡(jiǎn)易聊天室實(shí)現(xiàn)局域網(wǎng)內(nèi)聊天功能

發(fā)布時(shí)間:2020-10-17 03:10:44 來(lái)源:腳本之家 閱讀:176 作者:WangF0 欄目:開發(fā)技術(shù)

本文實(shí)例為大家分享了python實(shí)現(xiàn)局域網(wǎng)內(nèi)聊天功能的具體代碼,供大家參考,具體內(nèi)容如下

功能:

可以向局域網(wǎng)內(nèi)開啟接收信息功能的ip進(jìn)行發(fā)送信息,我們可以寫兩段端口不同的代碼來(lái)實(shí)現(xiàn)在一臺(tái)電腦上與自己聊天.

關(guān)鍵點(diǎn):

要想實(shí)現(xiàn)此功能必須將程序的端口固定

from socket import *


def udp_send(udp_socket):
  # 發(fā)送消息 接收用戶輸入內(nèi)容
  send_mes = input("請(qǐng)輸入發(fā)送內(nèi)容:")
  # 接收用戶輸入ip
  ip = input("請(qǐng)輸入ip地址:")
  # 接收用戶輸入端口號(hào)
  port = int(input("請(qǐng)輸入端口號(hào)"))
  # 發(fā)送消息 內(nèi)容進(jìn)行編碼
  udp_socket.sendto(send_mes.encode("gbk"), (ip, port))


def udp_recvfrom(udp_socket):
  # 接收消息 最多4096個(gè)字節(jié) 
  get_mes, get_ip = udp_socket.recvfrom(4096)
  print("收到來(lái)自%s的消息:%s" % (str(get_ip), get_mes.decode("gbk")))


def main():
  # 創(chuàng)建套接字
  udp_socket = socket(AF_INET, SOCK_DGRAM)
  # 設(shè)置固定端口
  udp_socket.bind(("", 8889))

  while True:
    print("*" * 50)
    print("----------無(wú)敵聊天器----------")
    print("1.發(fā)送消息")
    print("2.接收消息")
    print("0.退出系統(tǒng)")
    print("*" * 50)

    user = input("請(qǐng)輸入要執(zhí)行的操作:")

    if user == "1":

      udp_send(udp_socket)

    elif user == "2":

      udp_recvfrom(udp_socket)

    elif user == "0":
      break

    else:

      print("輸入有誤")
  # 關(guān)閉套接字
  udp_socket.close()


if __name__ == "__main__":
  main()

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI