Python搭建UDP网络通信模型,制作一个简单的私人聊天器~
互联网的本质是什么?
其实就是信息的交换。
就比如我们常用的QQ、微信等。
那么如何将自己的信息发送到其他人的电脑上呢?
那就需要借助网络模型来完成这样的事情了。
今天就带领大家使用UDP网络模型来完成一个简单的聊天器
有什么python相关报错解答自己不会的、或者源码资料/模块安装/女装大佬精通技巧 都可以来这里:(https://jq.qq.com/?_wv=1027&k=dwzSWSBK)或者+V:python10010问我
分享内容
python中的套接字实现
如何与Ubuntu建立通信
发送/接收消息
环境
- windows
- Ubuntu
- python3
- pycharm
导入模块
import socket
socket是套接字,链接电脑并且接收/发送消息的一个对象
socket有两种类型:udp 和 tcp
- udp比较简单 不安全 丢包的情况 速度快
- tcp比较复杂的网络模型 安全 速度慢
创建一个套接字对象
def main():udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- udp需要借助网络:IP协议
- IP协议分为两种:IPv4和IPv6
- PC电脑采取的是IPv4,IPv6一般是移动端使用:手机
发送数据到ubuntu系统中
udp_socket.sendto(b'hello python', ('192.168.3.40', 8080))
udp_socket.close()
发送任意数据给网络条数助手
def main():udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)send_data = input('请输入任意字符:')udp_socket.sendto(send_data.encode('utf-8'), ('192.168.3.40', 8080))udp_socket.close()
循环发送数据
def main():# 创建套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 循环发送while True:send_data = input('请输入你想要发送的数据:')udp_socket.sendto(send_data.encode('utf-8'), ('192.168.3.40', 8080))if send_data == "exit":breakudp_socket.close()
循环接受数据
绑定本机信息 告诉ubuntu我的当前地址以及端口
def main():udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)localhost_addr = ('', 6666)udp_socket.bind(localhost_addr)
循环接收
while True:recv_data = udp_socket.recvfrom(1024)# 元组解包recv_msg, recv_addr = recv_dataprint(recv_msg.decode('utf-8'), recv_addr)
将相关的功能抽离出来做成一个函数
发送消息
def send_msg(udp_socket):msg = input('请输入你想要发送的消息:')udp_socket.sendto(msg.encode('utf-8'), ('192.168.3.40', 8080))
接收消息
def recv_msg(udp_socket):# 接收msg = udp_socket.recvfrom(1024)# 解码recv_msg = msg[0].decode('utf-8')
发送 / 接收 功能
def main():udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)udp_socket.bind(('', 6666))while True:op_num = input('请输入要操作的功能序号 [1.发送消息 2.接收消息]:' )# 根据用户输入的数字去调用相关的功能if op_num == "1":send_msg(udp_socket)elif op_num == "2":recv_msg(udp_socket)else:print('输入有误, 请重新输入...')
启动
if __name__ == '__main__':main()
最后运行代码
发送消息
接收消息
今天的这个私人聊天器我个人觉得还蛮有意思der ~ ~ ~
都看到这里啦,点个赞不过分吧~
Python搭建UDP网络通信模型,制作一个简单的私人聊天器~相关推荐
- 使用Python制作一个简单的刷博器
呵呵,不得不佩服Python的强大,寥寥几句代码就能做一个简单的刷博器. import webbrowser as web import time import oscount=0 while cou ...
- Python:通过网络爬虫实现一个简易控制台音乐播放器
hello,大家好,我是wangzirui32,今天我们来学习如何通过网络爬虫实现一个简易控制台音乐播放器,开始学习吧! 1. 项目结构及库准备 app.py为项目入口程序,download.py为音 ...
- 制作一个简单的照片查看器(支持缩放手势)
本文主要实现的功能是制作一个照片查看器,点击照片能进入大图模式,支持左右滑动,支持手势缩放, 本文只演示1张图和3张图的效果,其他的效果分为为: 2张图的时候按照1行2列展示, 3张图的时候按照1行3 ...
- openGL ES进阶教程(五)制作一个简单的VR播放器,播放全景视频
之前写过全景(VR)图片,和用openGL ES+MediaPlayer 渲染播放视频+滤镜效果 这一篇就在之前的基础上实现一个最简单的VR播放器,播放全景视频. 概述: 全景视频是一种用3D摄像机进 ...
- 微信小程序 用wx.getRecorderManager()和wx.createInnerAudioContext()制作一个简单的录音播放器(录制以及播放)
在开发的时候公司提出了一个如题的要求,发现微信官方文档里好像没有相关的组件,就自己做了一个简单的,可以实现用户录制音频,播放和暂停的需求.放上来供大家参考 预览 wxml <view>&l ...
- 制作一个简单的FLV播放器 【转】
我们将制作的这个FLV播放器由这样几部分组成: 一个用于显示视频图像的视频对象, 三个分别用于播放.暂停和停止视频的按钮, 以及一个用于显示缓冲区装载进度的动态文本. 1. 创建三个按钮元件,分别命名 ...
- php百度大脑,百度大脑和图灵机器人制作一个简单的自动聊天机器人【PHP代码】...
可以和机器人聊天 文字发送消息 网页进行语音回复 这里主要用到了两个接口 一个是百度大脑 用来实现语音合成 一个是图灵机器人用来实现自动聊天 以下是代码分两个版本 版本一是没有语音合成 版本二是加上 ...
- 制作一个简单的音乐播放器
舞台布置及所加的元件如下图 然后直接在放代码即可. //声明 var jzdz:URLRequest=new URLRequest("http://59.52.188.151/s2.mp3& ...
- 【QT学习】制作一个简单的图片查看器(完整源码)
最新文章
- zookeeper 分布式过程协同技术详解.pdf_阿里大牛耗时18个月整理这份ZooKeeper分布式详解文档...
- 引入spring-boot-starter-actuator,控制台没有mapper的映射信息打印问题
- mysql 查询临时表列名_为什么mysql会缓存被删除的临时表的列名?
- MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
- java基础—文件的切割与合并
- Photoshop修复和合成梦幻人物
- 工作中 linux 常用命令:vi、cp、mv、rm、kill、curl、tail
- 《从零开始学Swift》学习笔记(Day 45)——重写方法
- 实现数组头尾两端元素对调代码
- 高斯克吕格投影 python2.x 版本
- pm模式 raid_Adaptec RAID PM8060 用户手册.pdf
- word文档docx转为pdf文件,在Linux操作系统上也能正常显示中文
- 使用JS与jQuery实现文字逐渐出现特效
- 斗鱼直播弹幕python_调用斗鱼API爬取直播间弹幕信息(用户昵称及弹幕内容)
- iVMS-4200 Vs区别_菲尔·杰克逊揭示了迈克尔·乔丹和科比·布莱恩特之间的关键区别...
- python 3 12306余票查询脚本
- CSS4day(圆角边框,阴影,浮动详解及其示例)
- 交付管理——怎样管控项目成本
- (信贷风控八)行为评分卡模型(B卡)的介绍
- 动态规划最好的讲解之一 | 算法干货