tcp协议聊天

服务端::

客户端

udp协议的聊天

  1. ############ udp协议 ###########
  2. 服务器
  3.  
  4. import socket
  5. sk = socket.socket(type = socket.SOCK_DGRAM) ##udp协议
  6. sk.bind((ip地址,端口号))
  7. while 1:
  8. msg_r,addr = sk.recvfrom(1024) ##接收来自哪里的消息
  9. print(msg_r.decode('utf-8'),addr) ##把收到的内容解码出来
  10. if msg_r.decode('utf-8') == 'q':
  11. continue
  12. user = input('>>>')
  13. sk.sendto(user.encode('utf-8'),addr)
  14. if user == 'q':
  15. break
  16. sk.close()
  17.  
  18. 客户端:
  19.  
  20. import socket
  21. sk = socket.socket(type = socket.SOCK_DGRAM)
  22. while 1:
  23. mag = input('>>>>')
  24. sk.sendto(mag.encode('utf-8')(服务器ip地址,服务器那边的端口号)
  25. if mag == 'q':
  26. break
  27. mag_r,addr = sk.recvfrom(1024)
  28. print(mag_r.decode(''utf-8))
  29. if mag_r.decode() == 'q':
  30. break

  

  1. ################ 时间同步机制 ####################
  2. 服务器:
  3.  
  4. import socket ##引进socket模块
  5. import time ##引进时间模块
  6. sk = socket.socket(type = socket.SOCK_DGRAM) ##实例化 DGRAM 是udp 这个位置是固定的
  7. sk.bind(ip地址,端口号)
  8.  
  9. while 1:
  10. tm_format,addr = sk.recvfrom(1024) ##接收的是1024个字节
  11. tm_format = tm_format.decode('utf-8') ##%Y/%m/%d %H:%M:%S
  12. local_tm = time.strftime(tm_format) ##获取到了对应格式的当前时间
  13. sk.sendto(local_tm.encode('utf-8'),addr) ##返回给客户端
  14.  
  15. 客户端:
  16.  
  17. import socket ##引入socket模块
  18. import time ##引入time模块
  19. sk = socket.socket(type = socket.SOCK_DGRAM) ##udp协议固定的
  20. tm_format = input('>>>') ##输入
  21. while 1:
  22. sk.sendto(tm_format.encode('utf-8'),(ip地址,端口号)) ##发送出去
  23. local_tm,addr = sk.recvfrom(1024) ##接收1024个字节
  24. print(local_tm,decode('utf-8')) ##解码
  25. time.sleep(2) ##停顿2秒

  

tcp和udp协议的聊天 和udp协议的时间同步机制-----编码的更多相关文章

  1. TCP/IP详解学习笔记(6)-UDP协议

    1.UDP简要介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议. 2.UDP协议头 2.1.UDP端口号 ...

  2. TCP/IP协议网络编程以及UDP和TCP之传输协议

    1.什么是TCP/IP协议? 网络编程协议有很多,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal 传输控制协议/英特网 ...

  3. [计算机网络] DNS何时使用TCP协议,何时使用UDP协议

    DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下使用这两种协议. 先简单介绍下TCP与UDP. ...

  4. tcp上传大文件举例、udp实现qq聊天、socketserver模块实现并发

    为什么会出现粘包现象(day31提到过,这里再举个例子) """首先只有在TCP协议中才会出现粘包现象,因为TCP协议是流式协议它的特点是将数据量小并且时间间隔比较短的数 ...

  5. TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端

    目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...

  6. 【转】TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端

    [转]TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端).UDP客户端 目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP ...

  7. 接口与协议学习笔记-Ethernet UDP通信协议(一)

    总线(BUS,即公共汽车,数据的公共传输路线)分类的方式有很多,如被分为外部和内部总线.系统总线和非系统总线等等,下面是几种最常用的分类方法.另外,总线的传输核心思想是多路复用:时分多路复用-TDMA ...

  8. 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  9. (转)协议森林07 傀儡 (UDP协议)

    协议森林07 傀儡 (UDP协议) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经讲解了物理层.连接层和网络层.最开始的 ...

随机推荐

  1. Python正则匹配之有名分组

    参考:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html # re.match import re m = re.match(r'( ...

  2. Image转Base64

    今天和一个朋友联调图片转Base64时发现一个问题 public static string ImageToBase64(Image img) { BinaryFormatter binFormatt ...

  3. IP白名单

    一.什么是IP白名单 公众平台后台新增了IP白名单功能.通过开发者ID及密码调用获取access_token接口时,需要设置访问来源IP为白名单. IP白名单是指一组IP列表,只有该列表中的IP地址的 ...

  4. rabbitMQ学习1:消息队列介绍与rabbitmq安装使用

    1. 什么是消息队列 生活里的消息队列,如同邮局的邮箱, 如果没邮箱的话, 邮件必须找到邮件那个人,递给他,才玩完成,那这个任务会处理的很麻烦,很慢,效率很低 但是如果有了邮箱, 邮件直接丢给邮箱,用 ...

  5. Coursera, Machine Learning, SVM

    Support Vector Machine (large margin classifiers ) 1. cost function and hypothesis 下面那个紫色线就是SVM 的cos ...

  6. ThinkPHP5基础学习

    一.目录与文件结构 二.控制器 三.数据库 四.模型 五.模板

  7. git修改文件夹名字

    git mv -f oldfolder newfolder git add -u newfolder (-u选项会更新已经追踪的文件和文件夹) git commit -m "changed ...

  8. 【mmall】mybatis三剑客

    mybatis-generator mybatis-plugin Mybatis Plugin插件安装破解及使用:http://blog.csdn.net/u011410529/article/det ...

  9. zabbix系列 ~ linux监控相关

    Linux 监控 一 相关名词解释    cpu context switch (上下文切换)   1 定义 CPU给每个任务一定的服务时间,当时间片轮转的时候,需要把当前状态保存下来,同时加载下一个 ...

  10. RabbitMQ channel 参数详解

    1.Channel 1.1 channel.exchangeDeclare(): type:有direct.fanout.topic三种durable:true.false true:服务器重启会保留 ...