python编写简易聊天室实现局域网内聊天功能

yipeiwu_com6年前Python基础

本文实例为大家分享了python实现局域网内聊天功能的具体代码,供大家参考,具体内容如下

功能:

可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现在一台电脑上与自己聊天.

关键点:

要想实现此功能必须将程序的端口固定

from socket import *


def udp_send(udp_socket):
  # 发送消息 接收用户输入内容
  send_mes = input("请输入发送内容:")
  # 接收用户输入ip
  ip = input("请输入ip地址:")
  # 接收用户输入端口号
  port = int(input("请输入端口号"))
  # 发送消息 内容进行编码
  udp_socket.sendto(send_mes.encode("gbk"), (ip, port))


def udp_recvfrom(udp_socket):
  # 接收消息 最多4096个字节 
  get_mes, get_ip = udp_socket.recvfrom(4096)
  print("收到来自%s的消息:%s" % (str(get_ip), get_mes.decode("gbk")))


def main():
  # 创建套接字
  udp_socket = socket(AF_INET, SOCK_DGRAM)
  # 设置固定端口
  udp_socket.bind(("", 8889))

  while True:
    print("*" * 50)
    print("----------无敌聊天器----------")
    print("1.发送消息")
    print("2.接收消息")
    print("0.退出系统")
    print("*" * 50)

    user = input("请输入要执行的操作:")

    if user == "1":

      udp_send(udp_socket)

    elif user == "2":

      udp_recvfrom(udp_socket)

    elif user == "0":
      break

    else:

      print("输入有误")
  # 关闭套接字
  udp_socket.close()


if __name__ == "__main__":
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python基于FTP模块实现ftp文件上传操作示例

本文实例讲述了Python基于FTP模块实现ftp文件上传操作。分享给大家供大家参考,具体如下: #!/usr/bin/python #-*- coding:utf-8 -*- fr...

Python中顺序表原理与实现方法详解

本文实例讲述了Python中顺序表原理与实现方法。分享给大家供大家参考,具体如下: Python中的顺序表 Python中的list和tuple两种类型采用了顺序表的实现技术,具有顺序表...

Python3 tkinter 实现文件读取及保存功能

Python3 tkinter 实现文件读取及保存功能

tkinter介绍 tkinter是python自带的GUI库,是对图形库TK的封装 tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行 #...

用Python编写一个每天都在系统下新建一个文件夹的脚本

这个程序的功能非常的简单,就是每天在系统中新建一个文件夹。文件夹即当前的时间。此代码是在同事那边看到的,为了锻炼下自己薄弱的Python能力,所以花时间重新写了一个。具体代码如下:...

python获取磁盘号下盘符步骤详解

python获取磁盘号下盘符步骤详解

这次主要教的是如何通过Python 获取Windows系统下的所有的磁盘盘符,以列表的形式展示出来,获取磁盘号下的盘符包括能够获取到我们正在插在电脑上的U盘,也可以读取到,希望能够对你们...