请选择 进入手机版 | 继续访问电脑版

使用WinSock制作一个简单的代理服务器(C++实现)

[复制链接]
卓小兔 发表于 2021-1-1 18:30:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
注意


  • 只能访问HTTP网站
  • 只能访问简单页面,纯HTML
  • 性能很差,代码逻辑和结构另有很多不完整的地方
  • 参考:c-winsock-proxy-problem
代码

[code]#include #include #include #include #include #include //only used in vc++//#pragma comment( lib, "ws2_32.lib" )using namespace std;map errorMap;//署理服务LISTEN端口8080int port = 5522;SOCKET listen_sock;SOCKET client_sock;char FR_recv_buf [1024000] = "";//char * FR_recv_buf = (char *) malloc(sizeof(999999999));//char * FR_recv_buf = NULL;char recv_buf [1024000] = "";int Receive();int Listen();//初始化winsockbool InitializeWinsock(){    errorMap[10004] = "WSAEINTR Interrupted function call.";    errorMap[10038] = "WSAENOTSOCK Socket operation on nonsocket.";    errorMap[10093] = "WSANOTINITIALISED Successful WSAStartup not yet performed";    // 指针指向WSADATA数据结构,接受winsock实现的细节    WSADATA wsaData;    //WSAStartup必须是步伐中第一个调用的winsocke函数,只有当其乐成调用后才气使用进一步的winsocket函数    int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);    if(iResult != 0)    {        //不乐成将返回错误码,下面是几种大概的错误码        //10022 WSAEINVAL 应用步伐指出的Windows Sockets 版本不被该DLL 支持.        //10092 WSAVERNOTSUPPORTED 所需的Windows Sockets API 的版本未由特定的Windows Sockets 实现提供.        //10091 WSASYSNOTREADY 由WSAStartup()函数返回,表明底层的网络子系统无法使用。        cout
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )