在往下看之前,最好先了解一下这些函数。
bind(:将本地地址与套接字绑定,connect ) )或listen )进行调用之前使用
listen () :接收套接字的连接请求并将套接字设置为接收模式
connect () :用于建立与指定套接字的连接
accept ) ) :位于插座中以接受连接
send ) ) :发送数据(客户端向服务器发送请求,服务器端向客户端发送响应)。
recv ) ) :接收数据
更详细的事情可以自己在百度上找,这里就不多介绍了。 我们先来看看代理服务器的原理。
首先初始化套接字,使用blind ()函数将该套接字绑定到服务器的主机地址,并将地址设置为“127.0.0.1”。 此外,还必须联系端口号。 这里按照指导书的要求设定为“10240”。 然后,使用listen ()函数接收端口。
设置accept () )函数以接收和响应每个请求,并为每个请求创建和处理新线程以提高效率。
使用recv (函数和send )函数接收来自客户端的HTTP请求,并通过此代理服务器将该请求转发到服务器。 同时,服务器将获取的响应发送到代理服务器,代理服务器将该响应发送到客户端。 其中,代理服务器相当于中介,提供代理服务,所有请求和响应都通过。
处理完成后,等待200 ms,关闭线程并清除缓存,然后继续接收和处理下一个请求。 对于客户端,只要将成功发送的请求发送到代理服务器,就可以收到相应的响应。
文章部分来自互联网,涉及入侵删除*