基于UDP的套接字

udp不同于tcp协议:不需要经过三次握手、四次挥手。直接发送数据就行。

服务端

import socket

ip_port = ('127.0.0.1', 8001)
buffer_size = 1024 service = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) # 绑定
service.bind(ip_port)
print('start...') while 1:
data, addr = service.recvfrom(buffer_size)
print('客户端发来的数据:', data.decode('utf-8'))
print('客户端的信息:', addr)
msg = input('给%s发送的消息:' % addr[1]).strip()
service.sendto(msg.encode('utf-8'), addr)
print('给客户端%s的消息:%s 发送成功' % (addr[1], msg))

客户端

import socket

ip_port = ('127.0.0.1', 8001)
buffer_size = 1024 client = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) while 1:
msg = input('给服务器发送消息:').strip()
if not msg:
continue
client.sendto(msg.encode('utf-8'), ip_port)
data, addr = client.recvfrom(buffer_size)
print(addr)
print('服务器发来的消息:%s' % data.decode('utf-8'))

005---基于UDP的套接字的更多相关文章

  1. 基于UDP的套接字、粘包问题

    一.基于UDP的套接字 UDP服务端 ss = socket() #创建一个服务器的套接字 ss.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 cs = ss.recvfro ...

  2. python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议

    socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...

  3. Day9 基于TCP的套接字和基于UDP的套接字

    服务端: ss=socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字 ss.listen() #监听套接字, inf_loop: #服务器无限循环 cs=ss.accept( ...

  4. 基于udp的套接字编程

    一,简单明了了解udp套接字编程 客户端: #Author : Kelvin #Date : 2019/1/30 11:07 from socket import * ip_conf=("1 ...

  5. 基于udp的套接字

    1 ss = socket() #创建一个服务器的套接字 2 ss.bind() #绑定服务器套接字 3 inf_loop: #服务器无限循环 4 cs = ss.recvfrom()/ss.send ...

  6. socket原理-基于UDP的套接字-基于TCP实现远程命令-粘包

  7. python3全栈开发-补充UDP的套接字、操作系统、并发的理论基础

    一.基于UDP的套接字 udp套接字简单示例 import socket ip_port=('1.1.1.1',8181) BUFSIZE=1024 udp_server_client=socket. ...

  8. 异常处理和UDP Socket套接字

    一.异常处理 1.什么是异常处理: 程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表达出来,造成的影响就是整个程序无法再正常进行. 2.异常的结构: 1.异常 ...

  9. python基础22------python基础之基于tcp和udp的套接字

    一.TCP套接字 1.low版tcp套接字 服务器端 客户端 2.改进版tcp套接字 服务端 客户端 二.UDP的套接字 服务器 客户端 注:udp的套接字可以支持多个客户端同时访问,但tcp套接字就 ...

随机推荐

  1. Apache常见问题

    Apache如何修改端口? 找到Apache安装目录,conf目录下的httpd.conf文件,用编辑器打开. 找到“Listen 80”,修改为我们想要的端口号就可以了,如“Listen 8080” ...

  2. meat标签使用

    meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <head> <meta http-equiv="conten ...

  3. Quartus II管脚批量分配文件(.tcl)格式

    package require ::quartus::project set_location_assignment PIN_E1 -to clk set_location_assignment PI ...

  4. 关于simotion建立同步/解除同步的问题

    关于simotion建立同步/解除同步的问题. 问题: [enable gearing][disable gearing][enable camming][disable camming]都是一个过程 ...

  5. February 28 2017 Week 9 Tuesday

    Time you enjoy wasting, was not wasted. 你乐于挥霍的时间,都不能算作是浪费. A few days ago, I learned a sentence from ...

  6. 测试笔记:jsonp跨域接口测试

    原先测过这个接口,前后端同源(域名,协议,端口相同),开发提供的文档: $.post("http://host/url", { data1: "data1", ...

  7. NO.011-2018.02.16《三五七言 / 秋风词》唐代:李白

    三五七言 / 秋风词_古诗文网 三五七言 / 秋风词 唐代:李白 秋风清,秋月明,秋风凌清,秋月明朗. 落叶聚还散,寒鸦栖复惊.风中的落叶时聚时散,寒鸦本已栖息,又被明月惊起.落叶聚还(huán)散: ...

  8. 2018.12.17 struts.xml 配置自定义拦截器配置

    自定义拦截器有三个步骤哦 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PU ...

  9. 【JeeSite】用户管理

    组织机构使用ztree插件,加载数据时使用数据权限过滤(只能访问登录用户的单位及其下属单位), 点击部门加载相应用户. <!-- 数据范围过滤 -->   BaseService.data ...

  10. WSASocket()与Socket()的区别 转

    /**************************************************** WSASocket是Windows专用,支持异步操作:socket是unix标准,只能同步操 ...