网络编程:实现计算机与计算机间的通信
通过网络编程我们要了解什么问题?通信协议:
网络根据地域面积分为三类:局域网,城域网(十多公里)
广域网(www)IP地址由4个8位组成,每个数字不能大于255
分为五类:
A:1.0.0.0~~126.255.255.255(127.0.0.1是本地回环地址)
B:128.0.0.0~~191.255.255.255
C192.0.0.0~~233.255.255.255
D用于组播 科研
E
tcp:可靠,有状态的,长连接的协议,像打电话一样
udp:不可靠,无连接,像发短信一样。发送的包的顺序要有编号
http:基于tcp的协议,
ftp:文件传输协议
pop3:邮局协议版本3”。是TCP/IP协议族中的一员
smtp:简单邮件传输协议
QQ视频,发消息
网络的七层模型 osi:
应用层(表示层,会话层)
传输层:tep udp
网络层:逻辑寻址 寻路径
数据链路层:硬件寻址
通过网络编程我们要了解什么问题?通信协议:
网络根据地域面积分为三类:局域网,城域网(十多公里)
广域网(www)IP地址由4个8位组成,每个数字不能大于255
分为五类:
A:1.0.0.0~~126.255.255.255(127.0.0.1是本地回环地址)
B:128.0.0.0~~191.255.255.255
C192.0.0.0~~233.255.255.255
D用于组播 科研
E
tcp:可靠,有状态的,长连接的协议,像打电话一样
udp:不可靠,无连接,像发短信一样。发送的包的顺序要有编号
http:基于tcp的协议,
ftp:文件传输协议
pop3:邮局协议版本3”。是TCP/IP协议族中的一员
smtp:简单邮件传输协议
QQ视频,发消息
网络的七层模型 osi:
应用层(表示层,会话层)
传输层:tep udp
网络层:逻辑寻址 寻路径
数据链路层:硬件寻址
物理层:
socket()函数来实现网络编程
例子:
服务器端:
import socket import threading #1创建socket对象 面向连接 a1=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2绑定本机和端口号 a1.bind(("127.0.0.102",7777)) print("服务器已启动....") #3 监听 a1.listen(5) #4接收客户端 a2, addr = a1.accept() print("已接受客户端") #给客户端发消息 s=input("服务器说:") a2.send(s.encode("utf-8")) #接受客户端的消息 m = a2.recv(1024) print(m.decode("utf-8")) a2.close()
客户端:
import socket import threading #1创建socket对象 面向连接 a2=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2绑定本机和端口号 a2.connect(("127.0.0.102",7777)) print("客户端已连接") #接受服务器消息 s = a2.recv(1024) print(s.decode("utf-8")) #客户端给服务器发消息 r=input("客户端说:") a2.send(r.encode("utf-8")) a2.close()