最近看了一个HTTP代理服务器, 有些心得, 与大家分享。
HTTP代理服务器的原来其实很简单,就是把客户端请求的数据发往远程服务器,再将从远程服务器的接收到的数据发往客户端。但是在编写的时候需要注意几个问题。
1. 从客户端接收数据,可以用同步的函数recv,但是发往远程服务器的时候,必须采用异步发送的方法,即用
WSASend(
SOCKET s,
LPWSABUF lpBuffers,
DWORD dwBufferCount,
LPDWORD lpNumberOfBytesSent,
DWORD dwFlags,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
利用WSAWaitForMultipleEvents函数等待WSAOVERLAPPED结构中的事件对象。
如果用send函数发送的话,会已发现发送的数据量为0。
2. 代理服务器用accept函数会得到一个SOCKET,这个SOCKET用完后一定得用closesocket函数关闭掉,否则后续的SOKCET接收不进来。
大家看明白了吗?
相关推荐
172022-12
短效HTTP代理相关问题介绍
172022-12
HTTP代理IP应该如何去使用?
292022-11
HTTP代理IP全新上线,基本简介
292022-11
http代理的功能主要有哪些?了解一下。
292022-11
什么是HTTP代理 HTTP代理是做什么用的?
292022-11
爬虫ip老是不够,老是被封,有哪些好的ip代理供应商?
292022-11
HTTP代理都是有什么功能,可以运用于哪里?
292022-11
如何使用Socks5代理IP上网呢?-华益云HTTP
292022-11
使用高匿名代理 IP 有什么优点?
292022-11
iphone上的http代理是什么意思?
292022-11
如何通过浏览器使用socks5代理IP
292022-11
如何快速理解 HTTP协议和 HTTPS 协议
292022-11
代理IP的稳定性和响应速度 以及该注意什么
292022-11
获得代理 python爬虫之抓取代理服务器IP
292022-11