Python日常笔记(21)- udp

Ip

Ip v4全名 IP version4 意思就是ip的第四个版本格式 xxx.xxx.xxx.xxx,总共ip数就是256256256*256

端口号

Linux系统中,端口号可以有65535(2的16次方)之多
端口号是通过端口号来标记的,端口号只有整数范围从0到65535
动态端口范围是 1024-65535
1.网络通讯主要参数:
目标ip,目标端口,发送的内容,本地ip,本地端口

Socket

简称套接字,是进程间通讯的一种方式,网络中通讯可以利用这个标志与其它进程进行交互,
例如,微信,qq,收发的email等等

socket.socket([family[, type[, proto]]])

family: 套接字家族可以使AF_UNIX或者AF_INET(表示ipv4)
type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM(表示TCP协议)或SOCK_DGRAM
protocol: 一般不填默认为0.
代码发送与接收数据演示

# 客户端udp方式
# 1.from socket import *
# 2.import socket
import socket
def main():
   # 1.第一种导入方式使用 udp_socket = socket(AF_INET, SOCK_DGRAM)
   # 第二种导入方式使用
   # 创建套接字
   udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
   # 绑定端口和ip
   udp_socket.bind(("192.168.153.1", 9999))
   # 获取输入信息
   send_data = input("请输入数据:")
   # 发送数据使用utf-8的方式
   udp_socket.sendto(send_data.encode("utf-8"), ("192.168.153.1", 8080))
   # 接收服务端的数据
   msg_data = udp_socket.recvfrom(1024)
   # 由于是windows系统发过来的数据,所以只能使用gbk方式解码
   content, ip, port = msg_data[0].decode('gbk'), msg_data[1][0], msg_data[1][1]
   print(f"ip:{ip},port:{port},content:{content}")
   udp_socket.close()

if __name__ == "__main__":
   main()


>作者:阿超
原创公众号:『Python日常笔记』,专注于 Python爬虫等技术栈和有益的程序人生,会将一些平时的日常笔记都慢慢整理起来,也期待你的关注和阿超一起学习,公众号回复【csdn】优质资源。
发布了55 篇原创文章 · 获赞 16 · 访问量 9510

猜你喜欢

转载自blog.csdn.net/duchaochen/article/details/105068873
今日推荐