bool Server::start(Server::Service service){ struct sockaddr_in addr = {AF_INET,htons(port),INADDR_ANY,0}; if((listensock = ::socket(AF_INET,GetSockType((Type)type),0))<=0){ printf("create listen socket failed!\n"); return false; } if(::setsockopt(listensock,SOL_SOCKET,SO_REUSEADDR,&reuseaddr,sizeof(reuseaddr))){ printf("setsockopt [SO_REUSEADDR] failed!\n"); shutdown(); return false; } if(::bind(listensock,(struct sockaddr*)&addr,sizeof(addr))){ printf("bind listen socket failed!\n"); shutdown(); return false; } if(::listen(listensock,backlog)){ printf("server listen failed!\n"); shutdown(); return false; } printf("tinycgi server's listening at %d\n",port); return true; }
void CT_DataRSocketServ::DoCmdStopProtocolL(const TDesC& aSection, const TInt aAsyncErrorIndex) { TUint addrFamily = iProtocolDesc.iAddrFamily; TPtrC addrFamilyStr; if( GetStringFromConfig(aSection, KAddrFamily(), addrFamilyStr) ) { if( GetAddrFamily( addrFamilyStr, addrFamily ) ) { INFO_PRINTF3(_L("RSocketServ::StopProtocol() - Using addrFamily %S (%d)"), &addrFamilyStr, addrFamily); } else { TInt addrFamilyInt; if( GetIntFromConfig(aSection, KAddrFamily(), addrFamilyInt) ) { addrFamily = addrFamilyInt; INFO_PRINTF2(_L("RSocketServ::StopProtocol() - Using addrFamily %d"), addrFamily); } else { ERR_PRINTF2(_L("RSocketServ::StopProtocol() - Given addrFamily (%S) is invalid"), &addrFamilyStr); SetBlockResult(EFail); } } } TUint sockType = iProtocolDesc.iSockType; TPtrC sockTypeStr; if( GetStringFromConfig(aSection, KSockType(), sockTypeStr) ) { if( GetSockType( sockTypeStr, sockType ) ) { INFO_PRINTF3(_L("RSocketServ::StopProtocol() - Using sockType %S (%d)"), &sockTypeStr, sockType); } else { TInt sockTypeInt; if( GetIntFromConfig(aSection, KSockType(), sockTypeInt) ) { sockType = sockTypeInt; INFO_PRINTF2(_L("RSocketServ::StopProtocol() - Using sockType %d"), sockType); } else { ERR_PRINTF2(_L("RSocketServ::StopProtocol() - Given sockType (%S) is invalid"), &sockTypeStr); SetBlockResult(EFail); } } } TUint protocol = iProtocolDesc.iProtocol; TPtrC protocolStr; if( GetStringFromConfig(aSection, KProtocol(), protocolStr) ) { if( GetProtocol( protocolStr, protocol ) ) { INFO_PRINTF3(_L("RSocketServ::StopProtocol() - Using protocol %S (%d)"), &protocolStr, protocol); } else { TInt protocolInt; if( GetIntFromConfig(aSection, KProtocol(), protocolInt) ) { protocol = protocolInt; INFO_PRINTF2(_L("RSocketServ::StopProtocol() - Using protocol %d"), protocol); } else { ERR_PRINTF2(_L("RSocketServ::StopProtocol() - Given protocol (%S) is invalid"), &protocolStr); SetBlockResult(EFail); } } } INFO_PRINTF4(_L("Calling RSocketServ::StopProtocol(%d, %d, %d)"), addrFamily, sockType, protocol); iSocketServ->StopProtocol(addrFamily, sockType, protocol, iActiveStopProtocol->iStatus); iActiveStopProtocol->Activate(aAsyncErrorIndex); IncOutstanding(); }
Socket::Socket(Type type, bool nonBlocking) : SocketHolder(socket(AF_INET, GetSockType(type) | (nonBlocking ? SOCK_NONBLOCK : 0), 0)) { }