udp是无链接的,启动服务之后可以直接接受消息,不需要提前建立链接

UDP协议的通信优势:

允许一个服务器同时和多个客户端通信,

TCP不行

服务端

import socketsk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('127.0.0.1', 8888))while 1:# 接收msg_r, addr = sk.recvfrom(1024)str_msg = msg_r.decode('utf-8')if str_msg == 'q':continueelse:# 用':'分割字符串一次 变成列表lis = str_msg.split(':', 1)# 姓名na = lis[0].strip()# 信息info = lis[1].strip()print('\033[1;37;40m' + na + ':\033[0m' + info)# 发送msg_s = input('我:')if msg_s != 'q':sk.sendto(msg_s.encode('utf-8'), addr)else:sk.sendto(msg_s.encode('utf-8'), addr)breaksk.close()

客户端

import socket
name = input('请输入你的姓名:\n')
sk = socket.socket(type=socket.SOCK_DGRAM)while 1:# 发送msg_s = input('>>>')if msg_s != 'q':sk.sendto((name +':'+ msg_s).encode('utf-8'),('127.0.0.1',8888))else:sk.sendto((msg_s).encode('utf-8'),('127.0.0.1',8888))break# 接收msg_r,addr = sk.recvfrom(1024)if msg_r.decode('utf-8') == 'q':breakelse:print(msg_r.decode('utf-8'))

转载于:https://www.cnblogs.com/niuli1987/p/9470035.html

网络编程: 基于UDP协议的socket相关推荐

  1. Java网络编程——基于UDP协议的聊天室

    UDP简述    UDP(User Datagram Protocol)协议是Internet 协议集支持的一个无连接的传输协议,中文名为用户数据报协议.它为应用程序提供了一种无需建立连接就可以发送封 ...

  2. step5 . day4 网络编程 基于UDP协议的网络编程流程及API

    UDP协议是面向无连接,不可靠的传输协议,编程流程如下; 服务器端: 1. socket(),返回一个文件描述符,用于通信 2. bind(); //得先完成结构体的填充sockaddr_in 3. ...

  3. step5 . day5 网络编程 基于UDP协议的多人网络在线聊天功能

    模拟在线群聊功能,使用多进程完成聊天内容的接受和服务器端的转发,demo代码记录参考 //client_chat_UDP code #include <stdio.h> #include ...

  4. 基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程

    基于UDP协议 的socket套接字编程 1.UDP套接字简单示例 1.1服务端 import socketserver = socket.socket(socket.AF_INET,socket.S ...

  5. Sockey编程之基于 UDP 协议的 Socket 编程

    一.基于 UDP 协议的 Socket 编程 1.端口选择 已知端口:0~1023,为固定服务保留. 已注册的端口:1024~49151,供普通用户的普通用户进程或程序使用. 动态或私用端口: 491 ...

  6. 网络编程——基于TCP协议的通讯录【课程设计】

    网络编程--基于TCP协议的通讯录[课程设计] 本文目录 网络编程--基于TCP协议的通讯录[课程设计] 一.设计题目和要求 设计目标: 课程设计系统组成及模块功能: 二.设计内容 服务端 客户端 S ...

  7. step5 . day2 网络编程 基于TPC协议的网络编程流程及API

    基于TCP协议的网络编程流程 服务器端: 1) socket(),创建套接字文件,用于连接 2) bind(), 绑定,把socket()函数返回的文件描述符和IP.端口号进行绑定; 3) liste ...

  8. 基于ZYNQ-7000的AI加速器设计之PS端(ARM)网络编程(UDP协议)

    1.开始前的准备工作 关闭电脑防火墙 连接开发板电源 开发板与PC之间串口连接,JTAG下载线连接 PC机与开发板间网线连接,并保证能ping通 2.Vivado端配置 创建工程,具体步骤不详细介绍, ...

  9. Linux网络编程 - 基于UDP的服务器端/客户端

    一 理解UDP 1.0 UDP协议简介 UDP(User Datagram Protocol,用户数据报协议) [RFC 768] UDP协议的数据传输单元叫 UDP用户数据报,而TCP协议的数据传输 ...

最新文章

  1. Silverlight OA源代码(Silverlight4+SQLServer2005)
  2. 机器学习可解释性工具箱XAI
  3. Android中的防缓冲区溢出技术
  4. iOS开发--Mac下server搭建
  5. (深度卷积生成对抗神经网络)DCGANs论文阅读与实现pytorch
  6. Android NFC开发实战详解
  7. 光盘刻录只允许读取不能拷贝_便携易用,读写强劲:ORICO外置刻录光驱体验
  8. [IOC]Unity使用
  9. P1618 三连击(升级版)-- python3实现
  10. 【网摘】 浅谈HTTP中GET与POST的区别
  11. mysql 5.7.17解压缩版本安装过程
  12. python正则表达式应用
  13. 浏览器加载渲染网页过程解析
  14. [题解]诸侯安置(dp+组合)
  15. Redis 命令 - 在线参考
  16. 简单的水果价格排序(价格不重复)
  17. signature=6f778f12ee5c543045f5827af4fb220b,来用百度密语吧!!!
  18. 白帽子和黑客的区别是什么?如何成为一名白客?这篇文章能给你所有答案
  19. 图神经网络GNN(三):基于图神经网络的节点表征学习
  20. 云服务器上传文件到阿里云盘

热门文章

  1. GridView实现删除时弹出确认对话框
  2. 46. Permutations 排列数
  3. VDI序曲十五 配置 RemoteFX 以获得最佳体验
  4. Hadoop生态圈以及各组成部分的简介
  5. POSIX 消息队列相关问题
  6. 青云SDN/NFV2.0架构剖析
  7. HihoCoder#1051:补提交卡
  8. CentOS6 安装配置Smokeping
  9. Quality Center Issue with CAPICOM.DLL not prop...
  10. 关于oracle 安装下的LINUX系统参数的优化