网络UDP——Python
            
            
                    
                        标签:load   bsp   add   style   协议   class   recv   函数   ip地址   
socket简介
socket(简称 套接字) 是进程间通信的一种方式
 
1. 创建socket
在 Python 中 使用socket 模块的函数 socket 就可以完成:
import socket
socket.socket(AddressFamily, Type)
 
说明:
函数 socket.socket 创建一个 socket,该函数带有两个参数:
| Address Family: | 
| AF_INET | 
(用于 Internet 进程间通信),实际工作中常用AF_INET
 | 
 
| AF_UNIX | 
(用于同一台机器进程间通信) | 
 
 
 | 
| 
Type:套接字类型 | 
| SOCK_STREAM | 
(流式套接字,主要用于 TCP 协议) | 
 
| SOCK_DGRAM | 
(数据报套接字,主要用于 UDP 协议) | 
 
 
 | 
 
 
| 创建一个tcp socket(tcp套接字) | 
创建一个udp socket(udp套接字) | 
import socket
# 创建tcp的套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# ...这里是使用套接字的功能(省略)...
# 不用的时候,关闭套接字
s.close() 
 
  
 | 
import socket
# 创建udp的套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# ...这里是使用套接字的功能(省略)...
# 不用的时候,关闭套接字
s.close() 
 
  
 | 
 
说明
- 
套接字使用流程 与 文件的使用流程很类似
- 创建套接字
 
- 使用套接字收/发数据
 
- 关闭套接字
 
 
 
udp网络程序-发送、接收数据
 
创建一个基于udp的网络程序流程很简单,具体步骤如下:
- 创建客户端套接字
 
- 发送/接收数据
 
- 关闭套接字
 
 
 
1. udp网络程序-发送数据
 | 
2. udp网络程序-发送、接收数据
 | 
#coding=utf-8
from socket import *
# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)
# 2. 准备接收方的地址
# ‘192.168.1.103‘表示目的ip地址
# 8080表示目的端口
dest_addr = (‘192.168.1.103‘, 8080)  # 注意 是元组,ip是字符串,端口是数字
# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")
# 4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode(‘utf-8‘), dest_addr)
# 5. 关闭套接字
udp_socket.close()
 
  
 | 
#coding=utf-8
from socket import *
# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)
# 2. 准备接收方的地址
dest_addr = (‘192.168.236.129‘, 8080)
# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")
# 4. 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode(‘utf-8‘), dest_addr)
# 5. 等待接收对方发送的数据
recv_data = udp_socket.recvfrom(1024)  # 1024表示本次接收的最大字节数
# 6. 显示对方发送的数据
# 接收到的数据recv_data是一个元组
# 第1个元素是对方发送的数据
# 第2个元素是对方的ip和端口
print(recv_data[0].decode(‘gbk‘))
print(recv_data[1])
# 7. 关闭套接字
udp_socket.close()
 
  
 | 
 
网络UDP——Python
标签:load   bsp   add   style   协议   class   recv   函数   ip地址   
原文地址:https://www.cnblogs.com/zeon/p/13581487.html
                    
             
            
            
            
            
            
                                
评论