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实现的异步代理爬虫及代理池
Mar 17 Python
Python机器学习之决策树算法实例详解
Dec 06 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
pandas分别写入excel的不同sheet方法
Dec 11 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
利用python开发app实战的方法
Jul 09 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
简单了解如何封装自己的Python包
Jul 08 Python
Pytorch 如何实现常用正则化
May 27 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 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多文件上传类实例
2015/03/07 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
javascript 尚未实现错误解决办法
2008/11/27 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
node.js超时timeout详解
2014/11/26 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
python实现简单的TCP代理服务器
2014/10/08 Python
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
python实现RSA加密(解密)算法
2016/02/17 Python
深入理解Python3中的http.client模块
2017/03/29 Python
tornado 多进程模式解析
2018/01/15 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
项目合作协议书
2014/04/16 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
介绍信范文
2015/01/31 职场文书
硕士学位申请报告
2015/05/15 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
Python实现制作销售数据可视化看板详解
2021/11/27 Python