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 struct.unpack
Sep 06 Python
Python实现的简单发送邮件脚本分享
Nov 07 Python
Python3中多线程编程的队列运作示例
Apr 16 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
将python代码和注释分离的方法
Apr 21 Python
python实现推箱子游戏
Mar 25 Python
Python类中方法getitem和getattr详解
Aug 30 Python
使用Python函数进行模块化的实现
Nov 15 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
python中round函数如何使用
Jun 19 Python
Python 如何调试程序崩溃错误
Aug 03 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
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
PHP解析RSS的方法
2015/03/05 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
在Python中COM口的调用方法
2019/07/03 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
高中英语演讲稿范文
2014/04/24 职场文书
冬季安全检查方案
2014/05/23 职场文书
个人综合鉴定材料
2014/05/23 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
2015年试用期工作总结
2014/12/12 职场文书
环境建议书
2015/02/04 职场文书
2015年司法局工作总结
2015/05/22 职场文书
nginx优化的六点方法
2021/03/31 Servers
Java死锁的排查
2022/05/11 Java/Android
利用Redis实现点赞功能的示例代码
2022/06/28 Redis