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使用PyFetion来发送短信的例子
Apr 22 Python
Python 探针的实现原理
Apr 23 Python
Python数据类型详解(一)字符串
May 08 Python
python中os和sys模块的区别与常用方法总结
Nov 14 Python
梅尔倒谱系数(MFCC)实现
Jun 19 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
彻底搞懂 python 中文乱码问题(深入分析)
Feb 28 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
django 实现后台从富文本提取纯文本
Jul 02 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
python中spy++的使用超详细教程
Jan 29 Python
python 经纬度求两点距离、三点面积操作
Jun 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 存储文本换行实现方法
2010/01/05 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
快速入门python学习笔记
2017/12/06 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
室内设计专业学生的自我评价分享
2013/11/27 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
机关作风建设心得体会
2014/10/22 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
检讨书格式
2019/04/25 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
oracle数据库去除重复数据
2022/05/20 Oracle