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 itchat实现微信好友头像拼接图的示例代码
Aug 14 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
Python在for循环中更改list值的方法【推荐】
Aug 17 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
Nov 15 Python
python django生成迁移文件的实例
Aug 31 Python
python绘制雪景图
Dec 16 Python
浅析Django中关于session的使用
Dec 30 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
python可以用哪些数据库
Jun 22 Python
python中not、and和or的优先级与详细用法介绍
Nov 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
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
详谈PHP编码转换问题
2015/07/28 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
在vue组件中使用axios的方法
2018/03/16 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
Python线程详解
2015/06/24 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
python实现决策树
2017/12/21 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
python cookie反爬处理的实现
2020/11/01 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
客户经理岗位职责
2013/12/08 职场文书
写好自荐信的几个要点
2013/12/26 职场文书
干部鉴定材料
2014/05/18 职场文书
建筑投标担保书
2014/05/20 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android