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编程中的反模式实例分析
Dec 08 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
浅谈Python NLP入门教程
Dec 25 Python
matplotlib作图添加表格实例代码
Jan 23 Python
python生成lmdb格式的文件实例
Nov 08 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
pytorch:实现简单的GAN示例(MNIST数据集)
Jan 10 Python
python利用JMeter测试Tornado的多线程
Jan 12 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 Python
python实现学生信息管理系统(面向对象)
Jun 05 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
ajax php 实现写入数据库
2009/09/02 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
JS创建自定义表格具体实现
2014/02/11 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
js实现抽奖效果
2017/03/27 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
React 组件间的通信示例
2018/06/14 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
详解Python爬虫的基本写法
2016/01/08 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
python分数表示方式和写法
2019/06/26 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
Python 远程开关机的方法
2020/11/18 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
PHP高级工程师面试问题推荐
2013/01/18 面试题
计算机专业自我鉴定
2013/10/15 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
开工仪式策划方案
2014/05/23 职场文书
优秀大学生自荐信
2014/06/09 职场文书
政工师工作总结2015
2015/05/26 职场文书
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python