资源简介
哈尔滨工业大学16级的计算机网络实验一 截止到2019年初这是最新的版本!!
实验及报告清晰明了 (已经过TA验收)可以直接上交
代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
#include
#pragma comment(lib“Ws2_32.lib“)
#define MAXSIZE 65507 //发送数据报文的最大长度
#define HTTP_PORT 80 //http 服务器端口
//Http 重要头部数据
struct HttpHeader {
char method[4]; // POST 或者 GET,注意有些为 CONNECT,本实验暂不考虑
char url[1024]; // 请求的 url
char host[1024]; // 目标主机
char cookie[1024 * 10]; //cookie
HttpHeader() {
ZeroMemory(this sizeof(HttpHeader));
}
};
BOOL InitSocket();
void ParseHttpHead(char *buffer HttpHeader * httpHeader);
BOOL ConnectToServer(SOCKET *serverSocket char *host);
unsigned int __stdcall ProxyThread(LPVOID lpParameter);
//代理相关参数
SOCKET ProxyServer;
sockaddr_in ProxyServerAddr;
const int ProxyPort = 10240;
//由于新的连接都使用新线程进行处理,对线程的频繁的创建和销毁特别浪费资源
//可以使用线程池技术提高服务器效率
//const int ProxyThreadMaxNum = 20;
//HANDLE ProxyThreadHandle[ProxyThreadMaxNum] = {0};
//DWORD ProxyThreadDW[ProxyThreadMaxNum] = {0};
struct ProxyParam {
SOCKET clientSocket;
SOCKET serverSocket;
};
int _tmain(int argc _TCHAR* argv[])
{
printf(“代理服务器正在启动\n“);
printf(“初始化...\n“);
if (!InitSocket()) {
printf(“socket 初始化失败\n“);
return -1;
}
printf(“代理服务器正在运行,监听端口 %d\n“ ProxyPort);
SOCKET acceptSocket = INVALID_SOCKET;
ProxyParam *lpProxyParam;
HANDLE hThread;
DWORD dwThreadID;
//代理服务器不断监听
while (true) {
acceptSocket = accept(ProxyServer NULL NULL);
lpProxyParam = new ProxyParam;
if (lpProxyParam == NULL) {
continue;
}
lpProxyParam->clientSocket = acceptSocket;
hThread = (HANDLE)_beginthreadex(NULL 0
&ProxyThread (LPVOID)lpProxyParam 0 0);
CloseHandle(hThread);
Sleep(200);
}
closesocket(ProxyServer);
WSACleanup();
return 0;
}
//************************************
// Method: InitSocket
// FullName: InitSocket
// Access: public
// Returns: BOOL
// Qualifier: 初始化套接字
//************************************
BOOL InitSocket() {
//加载套接字库(必须)
WORD wVersionRequested;
WSADATA wsaData;
//套接字加载时错误提示
int err;
//版本 2.2
wVersionRequested = MAKEWORD(2 2);
//加载 dll 文件 Scoket 库
err = WSAStartup(wVersionRequested &wsaData);
if (err != 0) {
//找不到 winsock.dll
printf(“加载 winsock 失败, 错误代码为: %d\n“ WSAGetLastError());
return FALSE;
}
if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)
{
printf(“不能找到正确的 winsock 版本\n“);
WSACleanup();
return FALSE;
}
ProxyServer = socket(AF_INET SOCK_STREAM 0);
if (INVALID_SOCKET == ProxyServer) {
printf(“创建套接字失败,错误代码为:%d\n“ WSAGetLastError());
return FALSE;
}
ProxyServerAddr.sin_family = AF_INET;
ProxyServerAddr.sin_port = htons(ProxyPort);
ProxyServerAddr.sin_addr.S_un.S_addr = INADDR_ANY;
if (bind(ProxyServer (SOCKADDR*)&ProxyServerAddr sizeof(SOCKADD
R)) == SOCKET_ERROR) {
printf(“绑定套接字失败\n“);
return FALSE;
}
if (listen(ProxyServer SOMAXCONN) == SOCKET_ERROR) {
printf(“监听端口%d 失败“ ProxyPort);
return FALSE;
}
return TRUE;
}
//************************************
// Method: ProxyThread
// FullName: ProxyThread
// Access: public
// Returns: unsigned
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-03 23:13 徐立群计网实验一报告\
目录 0 2018-11-03 11:14 徐立群计网实验一报告\http_proxy\
文件 2518 2016-06-08 21:48 徐立群计网实验一报告\http_proxy\.gitattributes
文件 3138 2016-06-08 21:48 徐立群计网实验一报告\http_proxy\.gitignore
目录 0 2018-11-02 18:50 徐立群计网实验一报告\http_proxy\.vs\
目录 0 2018-11-02 18:50 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\
目录 0 2018-11-03 11:23 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\
文件 25600 2018-11-03 11:23 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\.suo
文件 37408768 2018-11-03 11:23 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\Browse.VC.db
目录 0 2018-11-02 18:51 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\ipch\
目录 0 2018-11-02 18:51 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\ipch\AutoPCH\
目录 0 2018-11-02 18:51 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\ipch\AutoPCH\56b754ea33d9dbb2\
文件 80019456 2018-11-03 11:14 徐立群计网实验一报告\http_proxy\.vs\Net_project_http\v15\ipch\AutoPCH\56b754ea33d9dbb2\源1.ipch
目录 0 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\
文件 5931 2018-11-02 18:50 徐立群计网实验一报告\http_proxy\Net_project_http\Net_project_http.vcxproj
文件 1041 2016-06-08 21:48 徐立群计网实验一报告\http_proxy\Net_project_http\Net_project_http.vcxproj.filters
文件 165 2018-11-02 18:52 徐立群计网实验一报告\http_proxy\Net_project_http\Net_project_http.vcxproj.user
目录 0 2018-11-02 18:52 徐立群计网实验一报告\http_proxy\Net_project_http\x64\
目录 0 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\
文件 1480 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.log
目录 0 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\
文件 616 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\CL.command.1.tlog
文件 27318 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\CL.read.1.tlog
文件 516 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\CL.write.1.tlog
文件 203 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\Net_project_http.lastbuildstate
文件 1186 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\li
文件 2420 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\li
文件 506 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\Net_project_http.tlog\li
文件 347136 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\vc141.idb
文件 544768 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\vc141.pdb
文件 496221 2018-11-03 11:16 徐立群计网实验一报告\http_proxy\Net_project_http\x64\Debug\源1.obj
............此处省略14个文件信息
- 上一篇:TimingDesigner 9.103.rar
- 下一篇:图片旋转特效示意源码
相关资源
- 计算机网络实验/报告-SDU
- 计算机网络第五版中文版.pdf (高清完
- 广工 计算机网络 全部资料 试题 课件
- 计算机网络第四版Andrew+S.Tanenbaum著+潘
- 2020王道计算机网络高清无水印版.pd
- 哈工大张英涛教授操作系统PPT课件
- 计算机网络自顶向下方法(第六版)
- 计算机网络体系结构ppt
- 计算机网络自顶向下方法原书第6版正
- 计算机网络第七版,谢希仁版
- 安徽工业大学计算机网络实验报告-基
- 哈工大软件构造试题+中文讲义合集
- 计算机网络自顶向下方法_第六版cn.
- 中国矿业大学计算机网络试卷和复习
- 王道2019年计算机网络考研复习指导电
- 2008-2017年自考计算机网络原理真题答
- 2018最新版-山东大学计算机网络往年期
- 王道2019年计算机网络考研复习指导无
- 计算机网络第五版谢希仁版PDF+随书光
- 计算机网络理论课PPT
- 计算机网络原理应用和实现PDF
- 计算机网络工程实践教程.基于华为路
- 计算机网络第七版.pdf
- 王道课程计算机网络PPT.rar
- 2019计算机网络王道官方课件笔记
- 王道-计算机网络PPT-PDF格式
- 北京邮电大学计算机网络张鸿涛期末
- 哈工大数电试题
- 计算机网络教程第四版谢希仁习题答
- 计算机网络 吴功宜 第二版 pdf
评论
共有 条评论