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之Import 模块
Oct 13 Python
python中的错误处理
Apr 10 Python
python方法生成txt标签文件的实例代码
May 10 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
Python基于opencv调用摄像头获取个人图片的实现方法
Feb 21 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
python项目对接钉钉SDK的实现
Jul 15 Python
python Django的web开发实例(入门)
Jul 31 Python
Python @property原理解析和用法实例
Feb 11 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
5款实用的python 工具推荐
Oct 13 Python
只用Python就可以制作的简单词云
Jun 07 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
前端性能优化建议
2020/09/17 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
python实现的jpg格式图片修复代码
2015/04/21 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
python实现机器学习之多元线性回归
2018/09/06 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python使用python-docx读写word文档
2019/08/26 Python
实现Python与STM32通信方式
2019/12/18 Python
python集合删除多种方法详解
2020/02/10 Python
Python内置异常类型全面汇总
2020/05/28 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
解除劳动合同协议书(样本)
2014/10/02 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书