网络通信
1. 网络数据包格式
从应用的数据格式,加上HTTP的包头,再加TCP端口号,包括对端和本地以表明哪个应用服务来响应。再加上IP头和MAC头就可以再网上传输。
2. 数据链路层负载均衡
负载均衡服务器更改MAC地址,交给对应的应用服务器,返回给用户数据。
3. IP负载均衡
IP负载均衡服务器通过修改目标和源IP地址,在应用服务器和客户端之间进行转发。
4. 三次握手建立连接和4次挥手关闭连接
5. HTTP协议
方法,返回代码
网络编程开发基本模式是计算机A与计算机B进行通信
运行在计算机A上的进程Pa 和运行在计算机B上的进程Pb是如何通信的?
我们知道计算机的网络ISO的OSI七层模型【应用层、表示层、会话层、传输层、网络层、链路层、物理层】和Internet的五层模型【应用层、传输层、网络层、链路层和物理层】
我们在编程实现时,操作系统已经对传输层以下的都已经实现,我们只需要利用这样的编程接口,socket编程。
如何用一个服务器实现多个客户端的请求处理。即服务器的多并发处理。每个客户端都会建立一个socket对象(每个socket就是一个网络通信连接)
socket的并发处理是为每个socket创建一个线程,获得(accept)一个socket后,建立一个线程,对socket进行处理,在读取socket数据或者数据还未拿到,就会阻塞等待。当写数据时,如果写不进去,也会堵塞。
多路复用selector(select, eventpoll)
阻塞式编程: