服务端:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM) #创建基于UDP协议的socket对象
sk.bind(('127.0.0.1',8099)) #把地址绑定到套接字 msg,addr = sk.recvfrom(1024) #接收数据和数据的地址(数据大小)
print(msg.decode('utf-8')) #打印
sk.sendto(b'wdc',addr) #发送数据和接收的数据的地址 sk.close() #关闭连接

客户都:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM) #创建基于UDP协议的socket对象
ip_port = ('127.0.0.1',8099) #将地址和端口号放在一共元组里面 sk.sendto(b'yhf',ip_port) #发送数据和地址
ret,addr = sk.recvfrom(1024) #接收数据和数据的地址(数据大小)
print(ret.decode('utf-8'))
sk.close() #关闭连接
  • UDP的server不需要进行监听也不需要建立连接
  • 在启动服务之后只能被动的等待客户都发送信息过来
  • 客户都发送消息的同时还会,自带地址信息
  • 消息回复的时候,不仅需要发送消息,还需要把自己的地址填写上

实例:多客户端通信

  服务端:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('127.0.0.1',8099)) while True:
msg,addr = sk.recvfrom(1024)
print(msg.decode('utf-8'))
info = input('>>>')
info = ('来自服务器的消息:{}'.format(info)).encode('utf-8')
sk.sendto(info,addr) sk.close()

  客户端1:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM) ip_port = ('127.0.0.1',8099) while True:
info = input('大哥:')
info = ('来自大哥的消息:{}'.format(info)).encode('utf-8')
sk.sendto(info,ip_port)
msg,addr = sk.recvfrom(1024)
print(msg.decode('utf-8')) sk.close()

  客户端2:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM) ip_port = ('127.0.0.1',8099) while True:
info = input('二哥:')
info = ('来自二哥的消息:{}'.format(info)).encode('utf-8')
sk.sendto(info, ip_port)
msg,addr = sk.recvfrom(1024)
print(msg.decode('utf-8')) sk.close()

python_网络编程socket(UDP)的更多相关文章

  1. 网络编程Socket UDP

    图表流程 linux udp测试代码 //server.c #include <stdio.h> #include <stdlib.h> #include <errno. ...

  2. python_网络编程socket(TCP)

    服务端: import socket sk = socket.socket() #创建对象 sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) ...

  3. 网络编程socket基本API详解(转)

    网络编程socket基本API详解   socket socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket ...

  4. 网络编程 单纯UDP通信

    网络编程 单纯UDP通信 1,UDP发送端 2,UDP接收端 UDP发送端: #include <stdio.h> #include <unistd.h> #include & ...

  5. 铁乐学Python_Day33_网络编程Socket模块1

    铁乐学Python_Day33_网络编程Socket模块1 部份内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/ 理解socket Socket是应用层与TCP/IP协 ...

  6. Python网络编程socket

    网络编程之socket 看到本篇文章的题目是不是很疑惑,what is this?,不要着急,但是记住一说网络编程,你就想socket,socket是实现网络编程的工具,那么什么是socket,什么是 ...

  7. java:网络编程(UDP (DatagramSocket和DatagramPacket)正则表达式)

    java:网络编程(UDP (DatagramSocket和DatagramPacket)正则表达式) * TCP* 特点:面向连接,点对点的通信,效率较低,但安全可靠* UDP:用户数据报协议,类似 ...

  8. java网络编程socket\server\TCP笔记(转)

    java网络编程socket\server\TCP笔记(转) 2012-12-14 08:30:04|  分类: Socket |  标签:java  |举报|字号 订阅     1 TCP的开销 a ...

  9. Python_网络编程_socket()

    什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. 详细资 ...

随机推荐

  1. 将 PDF 论文的公式截图后转成 Word 可编辑公式(23)

    1. 问题 如何将PDF论文的公式截图后直接转成Word可编辑的公式? 2. 方法步骤 1.下载mathpix 2.使用mathpix截取公式,并生成LATEX 公式: 3.下载LaTeX转Word插 ...

  2. Erlang:[笔记三,构建工具rebar之使用依赖]

    概述 类似Java中的Maven,Gradle,在Erlang中同样也有包管理的工具,Rebar提供Erlang依赖(包)管理机制,开发人员可以重复使用已有的模块,通过rebar引入自己的项目直接使用 ...

  3. css — 选择器、盒子模型

    目录 1. css引入方式 2. css选择器 3. css的盒模型 css: 层叠样式表 1. css引入方式 行内样式 <div style='color:red;'>mjj</ ...

  4. 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块

    TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global ...

  5. 探索grafana

    因为zabbix的监控图形不够美观,功能也不够强大, 那么就用到了grafana 填写zabbix插件配置: 如下需要根据主机群组和主机名来完成图形: grafana报警如下: 解决如下: 更改标准设 ...

  6. 『Python Web框架之Django』第几节: AJAX

    一. AJAX简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”.即使用Javascript语言与服务器进行异步交互, ...

  7. 【满k叉树】Perfect Tree

    题目描述 Given a positive integer k, we define a rooted tree to be k-perfect, if and only if it meets bo ...

  8. jq勾选

    1.取消勾选 $("box").attr("checked", false); 2.勾选 $("kbox").attr("chec ...

  9. jvm垃圾回收器介绍

    上篇文章中我们讨论了jvm的内存区域,这篇文章我们来讨论针对的内存区域的垃圾回收机制. 其实针对垃圾回收我们通常考虑三个问题:1.哪些内存需要回收?2.什么时候回收?3.如何回收?下面我们针对这三个问 ...

  10. 通过DBCC Page查看在SQL Server中哪行数据被锁住了?

    原文:通过DBCC Page查看在SQL Server中哪行数据被锁住了? 如何查看被锁的是哪行数据?通过dbcc page可以. 要想明白这个问题: 首先,需要模拟阻塞问题,这里直接模拟了阻塞问题的 ...