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 相关文章推荐
linux下安装easy_install的方法
Feb 10 Python
跟老齐学Python之有容乃大的list(3)
Sep 15 Python
理解Python中的With语句
Feb 02 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
django静态文件加载的方法
May 20 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
使用python3实现操作串口详解
Jan 01 Python
python 多个参数不为空校验方法
Feb 14 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
Python Django view 两种return的实现方式
Mar 16 Python
详解anaconda安装步骤
Nov 23 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php中大括号作用介绍
2012/03/22 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
浅析Python中signal包的使用
2015/11/13 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
怎么快速自学python
2020/06/22 Python
加热夹克:RAVEAN
2018/10/19 全球购物
防灾减灾活动总结
2014/08/30 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
模范教师材料大全
2014/12/16 职场文书
体育教师个人总结
2015/02/09 职场文书
2015年体育部工作总结
2015/04/02 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书