基于代理服务程序的TCP通信
一、实验目的
1.熟悉Socket 编程;
2.掌握基于Socket的网络通信程序的设计与开发方法;
3.掌握Python界面设计技术;
4.掌握多线程/多进程编程的基本概念与实现方法;
5.掌握消息的网络传输的基本原理与实现方法;
6.添加异常捕捉,规范信息填写。
二、实验仪器设备/实验环境
1.Windows 2003/ win7/win8/win10 操作系统。
2.Visual Studio/Pycharm及以上
三、实验原理
一般来说,存放重要数据的服务器必须要进行强有力的保护,并且只能允许特定的机器进行访问,不能让所有客户端自由访问。可以考虑编写一个代理程序,设置服务器只允许代理程序所在计算机的IP地址访问,所有客户端对服务器的访问都由代理程序负责转发。编写程序模拟这个过程,在中间代理程序中使用端口映射技术实现数据转发。
四、实验内容
为实现简单网络通讯软件的基本功能,本实验需要可在实验二的实现方法基础上进行扩展设计,添加异常捕捉和GUI界面设计,并设置代理服务端,来隔绝潜在的风险。
1、 编写一个代理程序,设置服务器只允许代理程序所在计算机的IP地址访问,所有客户端对服务器的访问都由代理程序负责转发。
2、 在完成上述要求的基础上,自行构造GUI界面,界面布局参考图1,图2。
五、实验步骤
1、 创建端口映射客户端和服务端;
2、 利用Socket()、bind()、listen()、accept()、recv()send()等函数完成套接字创建,并进行数据通信。
3、 编写映射中间人代码,实现数据转发。
4、 编写GUI代码,完成代理服务程序的聊天系统设计。