Ejemplo n.º 1
0
//! 待ちうけ
void CSocket::listen()
{
	int ret=::listen(m_s,0);
	if(ret==SOCKET_ERROR){
		throw wexception(L"listen failed");
	}
}
Ejemplo n.º 2
0
void ComSession::ThrowIfError(
    HRESULT   result,
    IUnknown* pObjectWithError,
    REFIID    rErrorInterface) const
{
    if (FAILED(result)) {
        std::auto_ptr<std::wostringstream> msg(new std::wostringstream);
        DumpErrorInfo(msg.get(), pObjectWithError, rErrorInterface);
        throw wexception(msg->str().c_str());
    }
}
Ejemplo n.º 3
0
//! クライアント受付
CSocket* CSocket::accept()
{
	SOCKADDR_IN from;
	int from_len=sizeof(from);
	SOCKET client_s=::accept(m_s,(SOCKADDR*)&from,&from_len);
	if(client_s==INVALID_SOCKET){
		throw wexception(L"accept failed");
	}

	CSocket* new_s=new CSocket(client_s,from);
	return new_s;
}
Ejemplo n.º 4
0
//! リスン待ち受け
void CSocket::bind(ushort port)
{
	SOCKADDR_IN saddr;
	memset(&saddr,0,sizeof(saddr));
	saddr.sin_family=AF_INET;
	saddr.sin_port=htons(port);
	saddr.sin_addr.s_addr=INADDR_ANY;
	int ret=::bind(m_s,(sockaddr*)&saddr,sizeof(saddr));
	if(ret==SOCKET_ERROR){
		throw wexception(L"bind failed");
	}

	current_address._assign(saddr);
}
Ejemplo n.º 5
0
void ComSession::ThrowIfError(HRESULT result, LPCWSTR pMessage) const
{
    if (FAILED(result)) {
        throw wexception(pMessage);
    }
}