当前位置: 首页>>代码示例>>C++>>正文


C++ RakString::C_String方法代码示例

本文整理汇总了C++中raknet::RakString::C_String方法的典型用法代码示例。如果您正苦于以下问题:C++ RakString::C_String方法的具体用法?C++ RakString::C_String怎么用?C++ RakString::C_String使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在raknet::RakString的用法示例。


在下文中一共展示了RakString::C_String方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnFile

	bool OnFile(
		OnFileStruct *onFileStruct)
	{
		printf("OnFile: %i. (100%%) %i/%i %s %ib / %ib\n",
			onFileStruct->setID,
			onFileStruct->fileIndex+1,
			onFileStruct->numberOfFilesInThisSet,
			onFileStruct->fileName,
			onFileStruct->byteLengthOfThisFile,
			onFileStruct->byteLengthOfThisSet);


		FILE *fp = fopen(fileCopy.C_String(), "wb");
		fwrite(onFileStruct->fileData, onFileStruct->byteLengthOfThisFile, 1, fp);
		fclose(fp);

		// Make sure it worked
		unsigned int hash1 = SuperFastHashFile(file.C_String());
		if (RakNet::BitStream::DoEndianSwap())
			RakNet::BitStream::ReverseBytesInPlace((unsigned char*) &hash1, sizeof(hash1));
		unsigned int hash2 = SuperFastHashFile(fileCopy.C_String());
		if (RakNet::BitStream::DoEndianSwap())
			RakNet::BitStream::ReverseBytesInPlace((unsigned char*) &hash2, sizeof(hash2));
		RakAssert(hash1==hash2);

		// Return true to have RakNet delete the memory allocated to hold this file.
		// False if you hold onto the memory, and plan to delete it yourself later
		return true;
	}
开发者ID:CaiZhongda,项目名称:ClashOfClans,代码行数:29,代码来源:main.cpp

示例2: GetChangelistSinceDate

bool AutopatcherMySQLRepository::GetChangelistSinceDate(const char *applicationName, FileList *addedFiles, FileList *deletedFiles, const char *sinceDate, char currentDate[64])
{
	char query[512];
	if (sinceDate != 0 && strlen(sinceDate)>63)
		return false;
	RakNet::RakString escapedApplicationName = GetEscapedString(applicationName);
	RakNet::RakString escapedSinceDate = GetEscapedString(sinceDate);
	sprintf(query, "SELECT applicationID FROM Applications WHERE applicationName='%s';", escapedApplicationName.C_String());

	int applicationID;
	if (!ExecuteQueryReadInt(query, &applicationID))
	{
		sprintf(lastError,"ERROR: %s not found in UpdateApplicationFiles\n",escapedApplicationName.C_String());
		return false;
	}

	if (sinceDate && sinceDate[0])
		sprintf(query,
		"SELECT filename, fileLength, contentHash, createFile, fileId FROM FileVersionHistory "
		"JOIN (SELECT max(fileId) maxId FROM FileVersionHistory WHERE applicationId=%i AND modificationDate > '%s' GROUP BY fileName) MaxId "
		"ON FileVersionHistory.fileId = MaxId.maxId "
		"ORDER BY filename DESC;", applicationID,escapedSinceDate.C_String());
	else
		sprintf(query,
		"SELECT filename, fileLength, contentHash, createFile, fileId FROM FileVersionHistory "
		"JOIN (SELECT max(fileId) maxId FROM FileVersionHistory WHERE applicationId=%i GROUP BY fileName) MaxId "
		"ON FileVersionHistory.fileId = MaxId.maxId "
		"ORDER BY filename DESC;", applicationID);

	MYSQL_RES * result = 0;
	if (!ExecuteBlockingCommand (query, &result))
		return false;

	MYSQL_ROW row;
	while ((row = mysql_fetch_row (result)) != 0)
	{
		const char * createFileResult = row [3]; 
		const char * hardDriveFilename = row [0];
		if (createFileResult[0]=='1')
		{
			const char * hardDriveHash = row [2]; 
			int fileLength = atoi (row [1]);
			addedFiles->AddFile(hardDriveFilename, hardDriveFilename, hardDriveHash, HASH_LENGTH, fileLength, FileListNodeContext(0,0), false);
		}
		else
		{
			deletedFiles->AddFile(hardDriveFilename,hardDriveFilename,0,0,0,FileListNodeContext(0,0), false);
		}
	}
	mysql_free_result (result);

	char *localTimestamp =GetLocalTimestamp ();
	if (localTimestamp)
		strcpy(currentDate, localTimestamp);;

	return true;
}
开发者ID:venkatarajasekhar,项目名称:viper,代码行数:57,代码来源:AutopatcherMySQLRepository.cpp

示例3: CreateServer

void Rackspace::CreateServer(RakNet::RakString name, RakNet::RakString imageId, RakNet::RakString flavorId)
{
	RakNet::RakString xml(
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		"<server xmlns=\"http://docs.rackspacecloud.com/servers/api/v1.0\" name=\"%s\" imageId=\"%s\" flavorId=\"%s\">"
		"</server>"
		,name.C_String() ,imageId.C_String(), flavorId.C_String());
	AddOperation(RO_CREATE_SERVER, "POST", "servers", xml);
}
开发者ID:120pulsations,项目名称:RakNet,代码行数:9,代码来源:Rackspace.cpp

示例4: CreateImage

void Rackspace::CreateImage(RakNet::RakString serverId, RakNet::RakString imageName)
{
	RakNet::RakString xml(
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		"<image xmlns=\"http://docs.rackspacecloud.com/servers/api/v1.0\" name=\"%s\" serverId=\"%s\""
		"/>",
		imageName.C_String(),serverId.C_String());

	AddOperation(RO_CREATE_IMAGE, "POST", "images", xml);
}
开发者ID:120pulsations,项目名称:RakNet,代码行数:10,代码来源:Rackspace.cpp

示例5: ResizeServer

void Rackspace::ResizeServer(RakNet::RakString serverId, RakNet::RakString flavorId)
{
	RakNet::RakString xml(
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		"<resize xmlns=\"http://docs.rackspacecloud.com/servers/api/v1.0\" flavorId=\"%s\""
		"/>",
		flavorId.C_String());

	AddOperation(RO_RESIZE_SERVER, "POST", RakNet::RakString("servers/%s/action", serverId.C_String()), xml);
}
开发者ID:120pulsations,项目名称:RakNet,代码行数:10,代码来源:Rackspace.cpp

示例6: RebuildServer

void Rackspace::RebuildServer(RakNet::RakString serverId, RakNet::RakString imageId)
{
	RakNet::RakString xml(
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		"<rebuild xmlns=\"http://docs.rackspacecloud.com/servers/api/v1.0\" imageId=\"%s\""
		"/>",
		imageId.C_String());

	AddOperation(RO_REBUILD_SERVER, "POST", RakNet::RakString("servers/%s/action", serverId.C_String()), xml);
}
开发者ID:120pulsations,项目名称:RakNet,代码行数:10,代码来源:Rackspace.cpp

示例7: RebootServer

void Rackspace::RebootServer(RakNet::RakString serverId, RakNet::RakString rebootType)
{
	RakNet::RakString xml(
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		"<reboot xmlns=\"http://docs.rackspacecloud.com/servers/api/v1.0\" type=\"%s\""
		"/>",
		rebootType.C_String());

	AddOperation(RO_REBOOT_SERVER, "POST", RakNet::RakString("servers/%s/action", serverId.C_String()), xml);
}
开发者ID:120pulsations,项目名称:RakNet,代码行数:10,代码来源:Rackspace.cpp

示例8: UpdateServerNameOrPassword

void Rackspace::UpdateServerNameOrPassword(RakNet::RakString serverId, RakNet::RakString newName, RakNet::RakString newPassword)
{
	if (newName.IsEmpty() && newPassword.IsEmpty())
		return;
	RakNet::RakString xml(
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		"<server xmlns=\"http://docs.rackspacecloud.com/servers/api/v1.0\""
		);
	if (newName.IsEmpty()==false)
		xml += RakNet::RakString(" name=\"%s\"", newName.C_String());
	if (newPassword.IsEmpty()==false)
		xml += RakNet::RakString(" adminPass=\"%s\"", newPassword.C_String());
	xml += " />";
	AddOperation(RO_UPDATE_SERVER_NAME_OR_PASSWORD, "PUT", RakNet::RakString("servers/%s", serverId.C_String()), xml);
}
开发者ID:120pulsations,项目名称:RakNet,代码行数:15,代码来源:Rackspace.cpp

示例9: receive_version

void Network::receive_version(){
    RakNet::BitStream bitstream(packet->data,packet->length,false);
    stat_counter_bytes_received+=bitstream.GetNumberOfBytesUsed();

    RakNet::MessageID type_id;
    bitstream.Read(type_id);

    RakNet::RakString rstring;

    bitstream.ReadCompressed(rstring);
    string game_title=rstring.C_String();

    bitstream.ReadCompressed(rstring);
    string version=rstring.C_String();

    bitstream.ReadCompressed(rstring);
    string checksum=rstring.C_String();

    string our_game_title=engine_interface.game_title;
    if(game_title!=our_game_title){
        Log::add_log("Game mismatch: "+string(packet->systemAddress.ToString(true))+"\nOur game: "+our_game_title+"\nServer game: "+game_title);

        engine_interface.button_events_manager.handle_button_event("stop_game");
        engine_interface.make_notice("Server is running a different game.");
    }
    else{
        string our_version=engine_interface.get_version();
        if(version!=our_version){
            Log::add_log("Version mismatch: "+string(packet->systemAddress.ToString(true))+"\nOur version: "+our_version+"\nServer version: "+version);

            engine_interface.button_events_manager.handle_button_event("stop_game");
            engine_interface.make_notice("Version mismatch with server.");
        }
        else{
            if(checksum.length()>0 && checksum!=CHECKSUM){
                Log::add_log("Checksum mismatch: "+string(packet->systemAddress.ToString(true))+"\nOur checksum: "+CHECKSUM+"\nServer checksum: "+checksum);

                engine_interface.button_events_manager.handle_button_event("stop_game");
                engine_interface.make_notice("Checksum mismatch with server.");
            }
            else{
                engine_interface.get_window("network_connecting")->toggle_on(true,false);

                send_client_data(true);
            }
        }
    }
}
开发者ID:darkoppressor,项目名称:scanner,代码行数:48,代码来源:network_client.cpp

示例10: deserializeConstruction

	// client / slave code
	bool DynamicActorReplicaComponent::deserializeConstruction(RakNet::BitStream *constructionBitstream)	{
		RakNet::BitStream& bitStream(*constructionBitstream);
		if (bitStream.GetNumberOfBitsUsed()==0)
			return false;

		RakNet::RakString rakString;
		bitStream.Read(rakString);

#if NL_DYNAMICACTOREPLICA_HAS_SERIALIZE_CONSTRUCTION_LOG
		getReplica()->getPeer()->log(ELogType_Info, "deserializeConstruction %s ", rakString.C_String());
#endif

		setConstructionDictionary(CCJSONConverter::dictionaryFrom(rakString.C_String()));
		createActorSprite(getConstructionDictionary());
		return true;
	}
开发者ID:Mobiletainment,项目名称:Multiplayer-Network-Conecpts,代码行数:17,代码来源:nlDynamicActorReplicaComponent.cpp

示例11: ReadCmd

void Server::ReadCmd( RakNet::Packet* packet, char* buffer, int bufferSize )
{
	RakNet::RakString rs;
	RakNet::BitStream bsIn( packet->data, packet->length, false );
	bsIn.IgnoreBytes( sizeof( RakNet::MessageID ) );
	bsIn.Read( rs );
	strncpy( buffer, rs.C_String(), bufferSize );
	buffer[bufferSize - 1] = '\0';
	std::string cmd( buffer );
	Client& c = m_network->FindClient( packet->guid );
	int pid = c.idx;
	if( pid == -1 ) return;
	if( cmd.compare( "kill" ) == 0 )
	{
		char buffer[32];
		sprintf( buffer, "%s suicided", c.name );
		Log::Get()->Print( buffer );
		m_network->SendMsg( buffer, m_network->m_peer->GetMyGUID(), false, true );
		GameEvent ge;
		ge.type = GameEvent::PLAYER_SUICIDE;
		ge.id0 = pid;
		Game::FireEvent( ge );
	}

}
开发者ID:michkjns,项目名称:Kweek,代码行数:25,代码来源:server.cpp

示例12: Process

void ModifyTrustedIPList_PostgreSQLImpl::Process(void *context)
{
	RakAssert(rankingServer);
	PGresult *result;
	RakNet::RakString query;
	RakNet::RakString paramTypeStr;
	RakNet::RakString valueStr;
	int numParams=0;
	char *paramData[512];
	int paramLength[512];
	int paramFormat[512];

	PostgreSQLInterface::EncodeQueryInput("ip", ip, paramTypeStr, valueStr, numParams, paramData, paramLength, paramFormat, false );

	if (addToList)
	{
		query = "INSERT INTO trustedIPs (ip, gameDbId_primaryKey_fk, gameDbId_secondaryKey_fk) VALUES ($1::text, ";
		query+=FormatString("%i", gameDbId.primaryKey);
		query+=",";
		query+=FormatString("%i", gameDbId.secondaryKey);
		query+=");";

	}
	else
	{
		query = "DELETE FROM trustedIPs where (ip=$1::text);";
	}

	result = PQexecParams(rankingServer->pgConn, query.C_String(),numParams,0,paramData,paramLength,paramFormat,PQEXECPARAM_FORMAT_BINARY);
	dbQuerySuccess=rankingServer->IsResultSuccessful(result, true);
}
开发者ID:venkatarajasekhar,项目名称:viper,代码行数:31,代码来源:RankingServer_PostgreSQL.cpp

示例13: StatusDeserialize

void SimpleAnimatedEntity::StatusDeserialize(RakNet::BitStream *stream) {
	SimpleObject::StatusDeserialize(stream);
	RakNet::RakString state;
	if(stream->Read(state))
		_animator->SwitchState(state.C_String());

}
开发者ID:diegoalejandrogomez,项目名称:WpfOpenGLInterOp,代码行数:7,代码来源:SimpleAnimatedEntity.cpp

示例14: readCharacterData

void characterData::readCharacterData(RakNet::BitStream &data) {
		RakNet::RakString characterName;
		data.Read<RakNet::RakString>(characterName); //Read the ID
		charName = characterName.C_String();

		
		readCharacterCustomization(data); //Read customization components
	}
开发者ID:Screetch,项目名称:GrandTale,代码行数:8,代码来源:characterData.cpp

示例15: Hash

void TwoWayAuthentication::Hash(char thierNonce[TWO_WAY_AUTHENTICATION_NONCE_LENGTH], RakNet::RakString password, char out[HASHED_NONCE_AND_PW_LENGTH])
{
#if LIBCAT_SECURITY==1
	cat::Skein hash;
	if (!hash.BeginKey(HASH_BITS)) return;
	hash.Crunch(thierNonce, TWO_WAY_AUTHENTICATION_NONCE_LENGTH);
	hash.Crunch(password.C_String(), (int) password.GetLength());
	hash.End();
	hash.Generate(out, HASH_BYTES, STRENGTHENING_FACTOR);
#else
	CSHA1 sha1;
	sha1.Update((unsigned char *) thierNonce, TWO_WAY_AUTHENTICATION_NONCE_LENGTH);
	sha1.Update((unsigned char *) password.C_String(), (unsigned int) password.GetLength());
	sha1.Final();
	sha1.GetHash((unsigned char *) out);
#endif
}
开发者ID:Aasagi,项目名称:DICEProgrammingChallenge,代码行数:17,代码来源:TwoWayAuthentication.cpp


注:本文中的raknet::RakString::C_String方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。