开发者学堂课程【Python 入门 2020年版:IP 地址的绑定 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10479
IP 地址的绑定
ip 地址的绑定
1.代码
import socket
server_socket=socket.socket(socket.AF_INEF,socket.SOCK_STREAM)
#ip 地址只能通过 ip 地址访问
server_socket.bind((‘192.168.31.199’,9090))
#能够通过 127.0.0.1 和 localhost 来访问
#server_socket.bind((‘127.0.0.1’,8090))
#127.0.0.1 和 0.0.0.0 都表示本机
server_socket.listen(128)
while True:
client_socket,client_addr=server_socket.accept()
data=client_socket.recv(1024).decode(‘utf8’)
print(‘接收到{}的数据{}’.format(client_addr[0],data))
client_socket.send(‘HTTP/1.1 200 OK\n’.encode(‘utf8’))
client_socket.send(‘content-type:text/html’.encode(‘utf8’))
client_socket.send(‘\n’.encode(‘utf8’))
client_socket.send(‘<h1 style=“color:red”>hello world</h1>.encode(‘utf8’))
2. 如果有了绑定 server_socket.bind((‘192.168.31.199’,9090))
,自己做的情况下怎么访问这个地址呢?
(1)在地址写 192.168.31.199:9090,因为是本机,那么可不可以写成:127.0.0.1:9090。
访问发现不可以,事实证明ip地址只能通过 ip 地址访问。
(2)如果代码写的是server_socket.bind((‘127.0.0.1’,8090))
可以用 127.0.0.1:8090 访问,也可以用 localhost:8090 ,但不能用 ip 地址192.168.31.199:8090
3.”127.0.0.1”和”0.0.0.0”都表示本机,有什么区别:
如果写 0.0.0.0 的话,可以用所有可用的 ip,可以用 127.0.0.1 访问即本机访问,也可以用 ip 地址 192.168.31.199 访问,而且地址是灵活的,表示本机的所有的ip。
如果写的是 127.0.0.1,只能通过本机访问,只能用自己的电脑访问。别人是访问不到的,局域网内都访问不到。