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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
python学习 流程控制语句详解
Jun 01 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
python traceback捕获并打印异常的方法
Aug 31 Python
python图像处理入门(一)
Apr 04 Python
Django的models模型的具体使用
Jul 15 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
用python实现学生管理系统
Jul 24 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
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php格式化电话号码的方法
2015/04/24 PHP
php可变长参数处理函数详解
2017/02/22 PHP
php接口隔离原则实例分析
2019/11/11 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python模块搜索路径代码详解
2018/01/29 Python
python保存文件方法小结
2018/07/27 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
set在python里的含义和用法
2019/06/24 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
青年教师典范事迹材料
2014/01/31 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
新党章的学习心得体会
2014/11/07 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
2015年信息化建设工作总结
2015/07/23 职场文书
python本地文件服务器实例教程
2021/05/02 Python
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL