python网络编程--UDP客户端

0x01 环境

python、pycharm

0x02 程序

# -*- coding:utf-8 -*-

import socket

target_host='127.0.0.1'
target_part=80

#创建一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

#发送一些数据
client.sendto('AAAAAA',(target_host,target_part))

#接收到的消息
data,addr=client.recvfrom(4096)

print data

0x03 解释

下面这段代码是用来创建一个套接字,socket函数有三个参数

client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

分别为:

socket(family,type[,protocal])
  • family是地址系列,主要有:
含义
socket.AF_INET IPv4,默认
socket.AF_INET6 IPv6
  • type是套接字类型,主要有
含义
socket.SOCK_STREAM 创建的套接字基于TCP,默认
socket.SOCK_DGRAM 创建的套接字基于UDP
  • protocal默认就行

当执行完这条语句就会成功创建一个套接字,UDP不需要连接,所以可直接发送数据

client.sendto('AAAAAA',(target_host,target_part))

sendto(string[,flag],address)是发送 UDP 数据,将数据发送address指定的主机,address 是形式为(ipaddr,port)的元组,指定远程地址。返回值是发送的字节数。

data,addr=client.recvfrom(4096)

recvfrom(bufsize[.flag]),用来接收UDP数据,bufsize用来限定一次接收最大字节数,返回值是(data,address)。其中 data 是包含接收数据的字符串,address 是发送数据的套接字地址。

0x04 运行结果

一开始运行成功了,并有数据返回,再次运行,拒绝访问了,哎!下次补上图吧!

你可能感兴趣的:(Black,Python编程)