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 相关文章推荐
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
python实现朴素贝叶斯分类器
Mar 28 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
如何更优雅地写python代码
Jul 02 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
python IDLE添加行号显示教程
Apr 25 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 Python
Django中使用Celery的方法步骤
Dec 07 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
php关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
php基础学习之变量的使用
2011/06/09 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
php验证手机号码
2015/11/11 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
PHP编程一定要改掉的5个不良习惯
2020/09/18 PHP
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
在Python中使用成员运算符的示例
2015/05/13 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
广州某公司软件工程师面试题
2014/12/22 面试题
运动会闭幕式解说词
2014/02/21 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
大一新生学期自我评价
2014/04/09 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
2016年元旦致辞
2015/08/01 职场文书
辅导员学期工作总结
2015/08/14 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python
JavaScript执行机制详细介绍
2021/12/06 Javascript
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android