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


Posted in Python onJuly 28, 2018

本文实例为大家分享了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 相关文章推荐
paramiko模块安装和使用(远程登录服务器)
Jan 27 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
python实现银联支付和支付宝支付接入
May 07 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Python2 与Python3的版本区别实例分析
Mar 30 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
python热力图实现简单方法
Jan 29 Python
python实现会员管理系统
Mar 18 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 #Python
Python Socket编程之多线程聊天室
Jul 28 #Python
python实现点对点聊天程序
Jul 28 #Python
基于python实现聊天室程序
Jul 27 #Python
Python中return self的用法详解
Jul 27 #Python
TensorFlow打印tensor值的实现方法
Jul 27 #Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 #Python
You might like
java解析json方法总结
2019/05/16 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
Python实现建立SSH连接的方法
2015/06/03 Python
Python3连接MySQL(pymysql)模拟转账实现代码
2016/05/24 Python
Python实现购物程序思路及代码
2017/07/24 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python调用摄像头拍摄数据集
2019/06/01 Python
python设置环境变量的作用和实例
2019/07/09 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
化工专业应届生求职信
2013/11/08 职场文书
经典洗发水广告词
2014/03/13 职场文书
工业设计专业自荐书
2014/06/05 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
离职证明标准格式
2014/09/15 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
放假通知怎么写
2015/08/18 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书