tcp和udp协议的聊天 和udp协议的时间同步机制-----编码
tcp协议聊天
服务端::
客户端
udp协议的聊天
############ udp协议 ###########
服务器 import socket
sk = socket.socket(type = socket.SOCK_DGRAM) ##udp协议
sk.bind((ip地址,端口号))
while 1:
msg_r,addr = sk.recvfrom(1024) ##接收来自哪里的消息
print(msg_r.decode('utf-8'),addr) ##把收到的内容解码出来
if msg_r.decode('utf-8') == 'q':
continue
user = input('>>>')
sk.sendto(user.encode('utf-8'),addr)
if user == 'q':
break
sk.close() 客户端: import socket
sk = socket.socket(type = socket.SOCK_DGRAM)
while 1:
mag = input('>>>>')
sk.sendto(mag.encode('utf-8')(服务器ip地址,服务器那边的端口号)
if mag == 'q':
break
mag_r,addr = sk.recvfrom(1024)
print(mag_r.decode(''utf-8))
if mag_r.decode() == 'q':
break
################ 时间同步机制 ####################
服务器: import socket ##引进socket模块
import time ##引进时间模块
sk = socket.socket(type = socket.SOCK_DGRAM) ##实例化 DGRAM 是udp 这个位置是固定的
sk.bind(ip地址,端口号) while 1:
tm_format,addr = sk.recvfrom(1024) ##接收的是1024个字节
tm_format = tm_format.decode('utf-8') ##%Y/%m/%d %H:%M:%S
local_tm = time.strftime(tm_format) ##获取到了对应格式的当前时间
sk.sendto(local_tm.encode('utf-8'),addr) ##返回给客户端 客户端: import socket ##引入socket模块
import time ##引入time模块
sk = socket.socket(type = socket.SOCK_DGRAM) ##udp协议固定的
tm_format = input('>>>') ##输入
while 1:
sk.sendto(tm_format.encode('utf-8'),(ip地址,端口号)) ##发送出去
local_tm,addr = sk.recvfrom(1024) ##接收1024个字节
print(local_tm,decode('utf-8')) ##解码
time.sleep(2) ##停顿2秒
tcp和udp协议的聊天 和udp协议的时间同步机制-----编码的更多相关文章
- TCP/IP详解学习笔记(6)-UDP协议
1.UDP简要介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议. 2.UDP协议头 2.1.UDP端口号 ...
- TCP/IP协议网络编程以及UDP和TCP之传输协议
1.什么是TCP/IP协议? 网络编程协议有很多,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal 传输控制协议/英特网 ...
- [计算机网络] DNS何时使用TCP协议,何时使用UDP协议
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下使用这两种协议. 先简单介绍下TCP与UDP. ...
- tcp上传大文件举例、udp实现qq聊天、socketserver模块实现并发
为什么会出现粘包现象(day31提到过,这里再举个例子) """首先只有在TCP协议中才会出现粘包现象,因为TCP协议是流式协议它的特点是将数据量小并且时间间隔比较短的数 ...
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...
- 【转】TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
[转]TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端).UDP客户端 目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP ...
- 接口与协议学习笔记-Ethernet UDP通信协议(一)
总线(BUS,即公共汽车,数据的公共传输路线)分类的方式有很多,如被分为外部和内部总线.系统总线和非系统总线等等,下面是几种最常用的分类方法.另外,总线的传输核心思想是多路复用:时分多路复用-TDMA ...
- 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- (转)协议森林07 傀儡 (UDP协议)
协议森林07 傀儡 (UDP协议) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经讲解了物理层.连接层和网络层.最开始的 ...
随机推荐
- centos下问题:connect:network is unreachable
问题描述 弄了三台机器准备搭建一个集群,按照centos7系统,一台主节点安装桌面环境,两台计算节点.配置计算节点的时候,发现ping不通,出现connect:network is unreachab ...
- Restful API学习Day3 - DRF视图
视图 一.进化 class GenericView(APIView): """把视图中可能用到的配置和方法封装起来""" queryset ...
- webpack学习笔记——打包js
1.新建一个入口js文件,如entry.js,代码如下: document.write("It works.") 2.然后编译 entry.js 并打包到 bundle.js(会自 ...
- ubuntu完全卸载mysql
可以先用 dpkg --list|grep mysql 查看自己的mysql有哪些依赖 一.先卸载 mysql-common sudo apt-get remove mysql-common 二.然后 ...
- 第25月第9天 tf_tang_poems kaggle
1.neural-style https://github.com/anishathalye/neural-style wget http://www.vlfeat.org/matconvnet/mo ...
- Linux和进程内存模型
一.Linux和进程内存模型 jvm是一个进程的身份运行在linux系统上,了解linux和进程的内存关系,是理解jvm和Linux内存关系的基础. 硬件.系统.进程三个层面的内存之间的概要关系 1. ...
- 将本地项目上传到git
1.新建一个README.md的文件,并将项目名写入此文件(一般第三方git服务会在创建在创建项目的时候自动创建该文件,可以跳过这一步) echo "# Lee" >> ...
- 【提示框】【计时事件】【cookie】
1.提示框 1)警告框 <script>function disp_alert(){alert("我是警告框!!")}</script> 2)确认框 fun ...
- vue工具知识
1.访问数据自动格式化 Google jsonview插件(已用) 2.字体图标库. https://icomoon.io/ 上传svg可生成字体图标
- iTOP-4418开发板Ubuntu系统烧写方法分享
开发平台:迅为iTOP-4418开发板 系统:Ubuntu 1. TF卡读写速度测试 烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的卡都无法烧写 Ubuntu,下面提供一种 相对 ...