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】优质资源。