网络编程: 实现计算机与计算机之间的通信。
通讯协议:
tcp:可靠,有状态的,长连接的协议,像打电话一样的
udp:不可靠,无连接,像发短信一样,发送的包的顺序要有编码
http:基于tcp的协议,无状态的协议
ftp:文件传输协议
pop3:邮件协议版本3,是tcp/Ip协议族中的一员
smtp:简单邮件传输协议
网络的七层协议
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
网络根据地域分为三类:
局域网,城域网(几十公里),广域网(www)
IP地址是有4个8位组成,每个数字不能大于255
IP地址分类(五类)
A:1.0.0.0~126.255.255.255 (127.0.0.1,localhost是本地回环地址)
B:128.0.0.0~191.255.255.255
C:192.0.0.0~223.255.255.255
D:用于组播
E:。。。
服务器端
import sys
import socket
#创建 socket 对象
seversockt=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#获取本地主机名
host=socket.gethostname()
port=9999
#绑定端口号
seversockt.bind(("127.0.0.1",7777))
seversockt.listen(5)
#建立客户端连接
while True:
clientsocket,addr=seversockt.accept()
print("已接收客户端")
print("链接地址{0}".format(str(addr)))
msg="欢迎访问北大青鸟"+"\r\n"
clientsocket.send((msg.encode("utf-8")))
clientsocket.close()
print("服务器已启动")
客户端
import socket
import sys
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host=socket.gethostname()
port=9999
s.connect(("192.168.0.117",8888))
msg=s.recv(1024)
s.send("再见".encode("utf-8"))
s.close()
print(msg.decode("utf-8"))