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字典序问题实例
Sep 26 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
详解numpy的argmax的具体使用
May 27 Python
Python求均值,方差,标准差的实例
Jun 29 Python
python tkinter图形界面代码统计工具(更新)
Sep 18 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
Python中的特殊方法以及应用详解
Sep 20 Python
Django如何继承AbstractUser扩展字段
Nov 27 Python
python 提取html文本的方法
May 20 Python
Python Pandas常用函数方法总结
Jun 15 Python
关于python中模块和重载的问题
Nov 02 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
python fabric实现远程操作和部署示例
2014/03/25 Python
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
python实现挑选出来100以内的质数
2015/03/24 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
新电JAVA笔试题目
2014/08/31 面试题
业务员简历自我评价
2014/03/06 职场文书
我的长生果教学反思
2014/04/28 职场文书
建筑工地大门标语
2014/06/18 职场文书
报名委托书
2015/01/29 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
慰问信(范文3篇)
2019/10/23 职场文书