摘 要
代理服务器是介于浏览器和Web服务器之间的一台服务器,它的功能是代理网络用户去取得网络信息。它的工作原理是,接收客户机的数据连接请求,并将请求传给Web服务器;再从Web服务器接收返回的数据,最后把数据传给客户端显示。本论文讲述的是关于一个简单的代理服务器的实现,在实现中采用客户机/服务器结构模型开发应用程序,基于一般的访问浏览速度慢、效率底、安全功能不强等原因,将以简单、合理、有效为原则;为了方便分析和设计,系统设计中设置不同的状态量用于标识客户机、代理服务器及服务器间的联结状态。在保证系统基本功能的同时,使用多线程机制使得代理系统有更好的延续性。此代理系统具有简单,易用,网络化等优点,能够完成一般的HTTP访问代理服务。
关键词:客户机/服务器结构;多线程;套接字;代理服务器
目 录
论文总页数:20页
1 引言 1
1.1 课题背景 1
1.2 本课题研究的意义 1
1.3 本课题的研究方法 1
2 理论基础 2
2.1 代理服务器 2
2.2 目前的代理服务技术 3
2.3 SOCKET 面向连接的编程模型 4
2.4 WINSOCK库 5
2.4.1 winsock的寻址方式 5
2.4.2 字节顺序 6
2.5 系统基本套接字调用 6
2.5.1 创建和关闭套接字-socket()和closesocket() 6
2.5.2 指定本地地址-bind() 6
2.5.3 设置监听状态-listen() 6
2.5.4 建立套接字连接-connect()和accept() 6
2.5.5 收发数据-send()和recv() 7
3 设计方案 7
3.1 基本函数设计 7
3.2 多线程流程 8
4 服务器的实现 8
4.1 环境创建 8
4.2 功能实现 9
4.2.1 数据变量定义 9
4.2.2 启动代理服务器 10
4.2.3 请求处理过程 11
4.2.4 请求响应 13
4.2.5 关闭服务器 15
4.2.6 控制主函数 15
5 测试结果 15
结 论 17
参考文献 18
致 谢 19
声 明 20