IP地址查询
windows
cmd 命令提示符下
ipconfig
linux
在终端
ifconfig
IP地址的分类
- ipv4
- ipv6
分类寻址
IPV4被分为五大类:ABCDE
A类为:点分四组中的第一组地址范围为0~127的IP地址。已二进制来看就是“首位为0”
B类:128~191.二进制首位为10
C类:192~223.二进制首位为110
D类:224~239.二进制首位为1110
E类:240~255.二进制首位为1111
二进制
数据逢二进一
十进制 | 二进制 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
进制转换
十进制转换为二,八,十六进制的方法
num = 15 # 进制的转换
m = bin(num) # 十制制转二进制
print(m)
ba = oct(num) # 十进制转八进制
print(ba)
sl = hex(num) # 十进制转十六进制
print(sl)
结果
0b1111
0o17
0xf
udp通信
udp收发消息
-
创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-
发消息
udp_socket.sendto(bytes类型数据,(IP地址字符串,端口整数型))
-
方法记忆
send , 发送
to ,给
-
-
收消息
udp_socket.recvfrom(字节数)
- 返回值,元组
(bytes数据,(str发件方的ip,int发件方的端口))
-
方法记忆
recv, receive,接收
from,来自 -
该方法的特点:
会卡住
阻塞
-
关闭套接字
udp_socket.close()
文件的编码
- ascii
- unicode
- utf-8
数据类型的转换
str转bytes
变量 = str对象.encode(编码格式)
byte转str
变量 = bytes对象.decode(编码格式)
示例
a = "好"
print(a, type(a),"a")
b = a.encode("utf8")
print(b, type(b),"b")
c = b.decode("utf8")
print(c, type(c),"c")
效果
C:\Users\python_hui\Anaconda3\python.exe G:/untitled2/28/03udp/3.py
好 <class 'str'> a
b'\xe5\xa5\xbd' <class 'bytes'> b
好 <class 'str'> c
Process finished with exit code 0
tcp通信
客户端
-
创建tcp套接字
tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-
连接服务器
tcp_client.connect((str服务器ip, int端口))
-
客户端先发消息
tcp_client.send(bytes数据)
-
客户端收消息
tcp_client.recv(接收字节数)
-
关闭套接字
tcp_client.close()