文章目录
1.IP地址和url
1.1IP详解
1.1.1IP地址分配
ipv4用32位二进制表示,每八位转10进制
ip大约20亿,局域网几千万个。
ipv4是局域网内部的ip地址
路由器实际的IP其实是官网的IP
在百度搜索本机IP地址
我们电脑能使用对外的IP,在互联网来看都只能看到上面的IP,ipv4是家里路由器内部的ip。
不同的路由器可以使用一样的ip。这样就解决ip不足的问题。
1.1.2 静态IP和动态IP
动态IP每隔一段时间就收回和重新分配。静态IP需要购买,静态IP才可以当服务器。
不会轻易封IP原因
1.局域网。校园网是一个大的局域网,如果比如淘宝封了对校园的IP,那么整个校园网的学生都上不了淘宝了。
2.动态IP的特性。
1.2url
2.网络协议
2.1七层网络协议
如果要做路由器,就要了解网络层的协议。如果要做一个浏览器,就要了解应用程序的协议。
2.2怎么应用使用网络协议
3. TCP/IP协议
3.1问题引入
3.2TCP协议
发包员类似TCP协议
3.3路由器作用
4.socket
4.1socket是什么
指明了端口就知道是哪个应用程序
4.2 socket编程
4.2.1服务端
服务端步骤就像如下:
① 创建一个小人偶
② 给小人偶绑上嘴巴
③ 给小人偶绑上耳朵
④固定小人偶,不许他动,等待送食物的人
⑤接过食物或者送出食物
⑥把小人偶关屋子里,不用再工作
#socket服务端
import socket
server=socket.socket()
#绑定到0.0.0.0:8000端口上
server.bind(('0.0.0.0',8000))
server.listen()
#阻塞等待连接
sock,addr=server.accept()
data=""
while True:
tmp_data=sock.recv(1024)
if tmp_data:
data+=tmp_data.decode("utf8")
if tmp_data.decode("utf8").endswith("#"):#用#符号结束输入
break
else:
break
print(data)
sock.close()
4.2.2客户端
输入ipconfig
得到192.168 开头的IP地址
import socket
client=socket.socket()
client.connect(('192.168.113.252',8000))
while True:
input_data=input()
client.send(input_data.encode("utf8"))
client.close()