网络编程:实现计算机与计算机之间的通信
tcp:可靠,有状态的,长连接的协议
udp:不可靠,发送的包要有顺序编号
http:基于tcp的协议,无状态的协议
ftp:文件传输协议
pop3:邮局协议, smtp: 简单邮件传输协议
网络7层协议:应用层(表示层,会话层)传输层,网络层,数据链路层,物理层
广域网,城域网,局域网;
IP地址由4个8位组成,每一个不能大于255,
A类地址:1.0.0.0~126.255.255.255;
B类地址:128.0.0.0~192.255.255.255;
c类地址: 192.0.0.0~223.255.255.255;
127.0.0.1 是本机回环地址
实例:
服务器端:
import socket *引用socket模块
import threading *引用threa模块
fwqsocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM) *创建socket对象,以面向链接的方式
fwqsocket.bind(("192.168.0.199",9999)) *服务器地址和端口号
print("服务器已就绪。。。") *服务器准备就绪
fwqsocket.listen(9) *最多可同时链接9位客户端,开始监听
print("最多同时接待9位人员")
khxx=fwqsocket.accept() *被动接受TCP客户端连接,(阻塞式)等待连接的到来
def fwqrecv(khxx): *创建接收方法
while True:
xx=khxx[0].recv(1024) *按照1024b接受数据
print(xx.decode("utf-8")) *以utf-8的格式传输
threading._start_new_thread(fwqrecv,(khxx,))
def fwqsend(): *创建发送方法
while True:
khxx[0].send(input("服务器:").encode("utf-8")) *服务器以utf-8的格式回应客户端的信息
threading._start_new_thread(fwqsend())