httpsession.cpp

来自「一个HTTP协议的封装类」· C++ 代码 · 共 48 行

CPP
48
字号
#include "StdAfx.h"
#include "HTTPSession.h"
#include <string>
#include <iostream>
using namespace std;
#include "fs\error\FaultCenter.h"
using namespace fs::error;

		HTTPSession::HTTPSession(MHTTPTransactionCallback& aCallback,BOOL bCreateSocket)
			:Socket(bCreateSocket),iCallback(aCallback)
		{
		}

		HTTPSession::~HTTPSession(void)
		{
		}

		VOID HTTPSession::OnReceive( CHAR* pBuf,UINT len )
		{
			printf("\nmessage from server:\n");

			iCallback.MHFRunL(pBuf,len);

			//在父类中会delete[] pBuf
			Socket::OnReceive(pBuf,len);
		}

		BOOL HTTPSession::Connect(const LPCSTR ip,UINT port,BOOL isDomainName)
		{
			BOOL ret=SetAddress(ip,port,isDomainName);
			if (!ret)
			{
				return FALSE;
			}

			INT retval=connect(m_socket,m_address.GetPtr(),m_address.GetSize());
			return FaultCenter::TryCatch(_T("socket"),_T("connect"),retval);
		}

		VOID HTTPSession::OnPassiveDisconnect()
		{
			printf("Passive Disconnect.\n");//被动断开
		}

		VOID HTTPSession::Open()
		{
			CreateSocket();
		}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?