本文整理汇总了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;
}
示例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;
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
}
}
}
示例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 );
}
}
示例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);
}
示例13: StatusDeserialize
void SimpleAnimatedEntity::StatusDeserialize(RakNet::BitStream *stream) {
SimpleObject::StatusDeserialize(stream);
RakNet::RakString state;
if(stream->Read(state))
_animator->SwitchState(state.C_String());
}
示例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
}
示例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
}