服务端:

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. Memcached的安装与常用命令

    一.概述 MSM:Memcached-Session-ManagerMemcached是一款高性能.分布式的内存对象缓存系统 二.安装Memcached 在安装Memcached之前,我们需要先安装上 ...

  2. Netty学习笔记(二)——netty组件及其用法

    1.Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. 原生NIO存在的问题 1) NIO的类库和API繁杂,使用麻烦:需要熟练掌握Selector.Se ...

  3. 平衡树B树B+树红黑树

    二叉树与二叉查找树的操作是必须要熟练掌握的,接下来说的这些树实现起来很困难,所以我们重点去了解他们的特点. 一.平衡二叉查找树与红黑树 平衡树AVL:追求绝对的高度平衡,它具有稳定的logn的高度,因 ...

  4. soapUI对webservices进行压力测试

    1.进行压力测试步骤 1.创建soap项目file--new soap project 为项目命名,输入wsdl,之后会出现下图 其中matchToApply是webservice对外提供访问的接口( ...

  5. python学习-45 模块

    模块 -----模块包括三种: ····python标准库 ····第三方模块 ····应用程序自定义模块 -------应用程序自定义模块 1.建立两个py文件,一个是定义函数用的cal.py de ...

  6. 20191030-Python实现闭包

    打算在过年前每天总结一个知识点,所以把自己总结的知识点分享出来,中间参考了网络上很多大神的总结,但是发布时候因为时间太久可能没有找到原文链接,如果侵权请联系我删除 20191030:闭包 首先一个函数 ...

  7. MongoDB journal 与 oplog,究竟谁先写入?--转载

    MongoDB journal 与 oplog,谁先写入?最近经常被人问到,本文主要科普一下 MongoDB 里 oplog 以及 journal 这两个概念. journal journal 是 M ...

  8. kettle工具的介绍和使用

    kettle详解(数据抽取.转换.装载) 原文地址链接:https://blog.csdn.net/qq_35731570/article/details/71123413   一:下载路径 当你要学 ...

  9. mysql中的锁机制之概念篇

    锁的概念 ①.锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具. ②.在计算机中,是协调多个进程或线程并发访问某一资源的一种机制. ③.在数据库当中,除了传统的计算资源(CPU.RAM.I/O等 ...

  10. sessionId详解

    sessionid是一个会话的key,浏览器第一次访问服务器会在服务器端生成一个session,有一个sessionid和它对应.服务端在创建了Session的同时,会为该Session生成唯一的se ...