服务端:

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. webpack官网demo起步中遇到的问题

    在webpack官网demo一开始搭建中 

  2. knox 编译 源码

    1. git clone https://gitbox.apache.org/repos/asf/knox.git cd knox mvn clean install https://cwiki.ap ...

  3. [转帖]CPU时间片

    CPU时间片 https://www.cnblogs.com/xingzc/p/6077214.html CPU的时间片 CPU的利用率好CPU的 load average 是不一样的 Conntex ...

  4. Navicat通过跳板机连接MySQL(2层跳转)

      情景描述,公司开发数据库部署在内网,而且这个开发数据库有连接需要有IP验证,就是只能在内网的某个IP才能连接,所以每次连接都会先连接外网能访问的跳板机,在从跳板机上ssh到内网上的A机器,在从A机 ...

  5. 【Docker】:使用docker安装redis,挂载外部配置和数据

    普通安装 1.拉取镜像,redis:4.0 docker pull redis:4.0 2.创建redis容器名"redistest1",并开启持久化 docker run -d ...

  6. Spring Boot系列教程十四:Spring boot同时支持HTTP和HTTPS

    自签证书 openssl生成服务端证书,不使用CA证书直接生成 -in server.csr -signkey server.key -out server.crt # 5.server证书转换成ke ...

  7. wordpress 后台无法登录 网站内容缺失

    昨天网站又突然不正常了,前两天都是好的.. 具体来说就是wp后台登录不进去,一直在登录页跳转,与此同时服务器上其他网站也有这个问题,而且有些网站的板块内容也缺失了, 所以首要就是要登录进后台看看是不是 ...

  8. Python开发【第三章】:文件操作

    一.文件操作模式概述 1.打开文件的模式: r, 只读模式[默认] w,只写模式[不可读:不存在则创建:存在则删除内容:] a, 追加模式[不可读:不存在则创建:存在则只追加内容:] 2." ...

  9. Java数据结构Vetor

    Java数据结构Vector /** * <html> * <body> * <P> Copyright JasonInternational</p> ...

  10. 基于vue的购物车清单

    <!doctype html> <html> <head> <meta charset="utf-8"> <link rel= ...