本文整理汇总了C++中RAKNET_DEBUG_PRINTF函数的典型用法代码示例。如果您正苦于以下问题:C++ RAKNET_DEBUG_PRINTF函数的具体用法?C++ RAKNET_DEBUG_PRINTF怎么用?C++ RAKNET_DEBUG_PRINTF使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RAKNET_DEBUG_PRINTF函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: inBitstream
void ConnectionGraph::OnConnectionGraphRequest(Packet *packet)
{
char password[256];
RakNet::BitStream inBitstream(packet->data, packet->length, false);
inBitstream.IgnoreBits(8);
stringCompressor->DecodeString(password,256,&inBitstream);
if (pw && pw[0] && strcmp(pw, password)!=0)
return;
#ifdef _CONNECTION_GRAPH_DEBUG_PRINT
RAKNET_DEBUG_PRINTF("ID_CONNECTION_GRAPH_REPLY ");
#endif
RakNet::BitStream outBitstream;
outBitstream.Write((MessageID)ID_CONNECTION_GRAPH_REPLY);
stringCompressor->EncodeString(pw,256,&outBitstream);
SerializeWeightedGraph(&outBitstream, graph);
SendUnified(&outBitstream, LOW_PRIORITY, RELIABLE_ORDERED, connectionGraphChannel, packet->systemAddress, false);
#ifdef _CONNECTION_GRAPH_DEBUG_PRINT
RAKNET_DEBUG_PRINTF("from %i to %i\n", peer->GetInternalID().port, packet->systemAddress.port);
#endif
// Add packet->systemAddress to the participant list if it is not already there
AddParticipant(packet->systemAddress);
}
示例2: RAKNET_DEBUG_PRINTF
bool TelnetTransport::ReassembleLine(TelnetTransport::TelnetClient* remoteClient, unsigned char c)
{
if (c=='\n')
{
remoteClient->textInput[remoteClient->cursorPosition]=0;
remoteClient->cursorPosition=0;
#ifdef _PRINTF_DEBUG
RAKNET_DEBUG_PRINTF("[Done] %s\n", remoteClient->textInput);
#endif
return true;
}
else if (c==8) // backspace
{
if (remoteClient->cursorPosition>0)
{
remoteClient->textInput[--remoteClient->cursorPosition]=0;
#ifdef _PRINTF_DEBUG
RAKNET_DEBUG_PRINTF("[Back] %s\n", remoteClient->textInput);
#endif
}
}
else if (c>=32 && c <127)
{
if (remoteClient->cursorPosition < REMOTE_MAX_TEXT_INPUT)
{
remoteClient->textInput[remoteClient->cursorPosition++]=c;
#ifdef _PRINTF_DEBUG
RAKNET_DEBUG_PRINTF("[Norm] %s\n", remoteClient->textInput);
#endif
}
}
return false;
}
示例3: inet_addr
int SocketLayer::SendToTTL( SOCKET s, const char *data, int length, const char ip[ 16 ], unsigned short port, int ttl )
{
unsigned int binaryAddress;
binaryAddress = inet_addr( ip );
SystemAddress sa(binaryAddress,port);
if (slo)
return slo->RakNetSendTo(s,data,length,sa);
#if !defined(_XBOX) && !defined(X360)
int oldTTL;
socklen_t opLen=sizeof(oldTTL);
// Get the current TTL
if (getsockopt(s, IPPROTO_IP, IP_TTL, ( char * ) & oldTTL, &opLen ) == -1)
{
#if defined(_WIN32) && defined(_DEBUG)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "getsockopt(IPPROTO_IP,IP_TTL) failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
#endif
}
// Set to TTL
int newTTL=ttl;
if (setsockopt(s, IPPROTO_IP, IP_TTL, ( char * ) & newTTL, sizeof ( newTTL ) ) == -1)
{
#if defined(_WIN32) && defined(_DEBUG)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "setsockopt(IPPROTO_IP,IP_TTL) failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
#endif
}
// Send
int res = SendTo(s,data,length,ip,port,false);
// Restore the old TTL
setsockopt(s, IPPROTO_IP, IP_TTL, ( char * ) & oldTTL, opLen );
return res;
#else
return 0;
#endif
}
示例4: GetMyIP_Win32
void GetMyIP_Win32( char ipList[ MAXIMUM_NUMBER_OF_INTERNAL_IDS ][ 16 ], unsigned int binaryAddresses[MAXIMUM_NUMBER_OF_INTERNAL_IDS] )
{
char ac[ 80 ];
if ( gethostname( ac, sizeof( ac ) ) == -1 )
{
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "gethostname failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
return ;
}
struct hostent *phe = gethostbyname( ac );
if ( phe == 0 )
{
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "gethostbyname failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
return ;
}
struct in_addr addr[ MAXIMUM_NUMBER_OF_INTERNAL_IDS ];
int idx;
for ( idx = 0; idx < MAXIMUM_NUMBER_OF_INTERNAL_IDS; ++idx )
{
if (phe->h_addr_list[ idx ] == 0)
break;
memcpy( &addr[idx], phe->h_addr_list[ idx ], sizeof( struct in_addr ) );
binaryAddresses[idx]=addr[idx].S_un.S_addr;
strcpy( ipList[ idx ], inet_ntoa( addr[idx] ) );
}
for ( ; idx < MAXIMUM_NUMBER_OF_INTERNAL_IDS; ++idx )
{
ipList[idx][0]=0;
}
}
示例5: RAKNET_DEBUG_PRINTF
void ConnectionGraph::SerializeWeightedGraph(RakNet::BitStream *out, const DataStructures::WeightedGraph<ConnectionGraph::SystemAddressAndGroupId, unsigned short, false> &g) const
{
unsigned nodeIndex, connectionIndex;
BitSize_t countOffset, oldOffset;
unsigned short count;
SystemAddressAndGroupId node1, node2;
unsigned short weight;
out->WriteCompressed(g.GetNodeCount());
for (nodeIndex=0; nodeIndex < g.GetNodeCount(); nodeIndex++)
{
// Write the node
node1=g.GetNodeAtIndex(nodeIndex);
#ifdef _CONNECTION_GRAPH_DEBUG_PRINT
RAKNET_DEBUG_PRINTF("[%i] ", node1.systemAddress.port);
#endif
out->Write(node1.systemAddress);
out->Write(node1.groupId);
out->Write(node1.guid);
// Write the adjacency list count
count=(unsigned short)g.GetConnectionCount(nodeIndex);
out->AlignWriteToByteBoundary();
countOffset=out->GetWriteOffset();
out->Write(count);
count=0;
for (connectionIndex=0; connectionIndex < g.GetConnectionCount(nodeIndex); connectionIndex++)
{
g.GetConnectionAtIndex(nodeIndex, connectionIndex, node2, weight);
// For efficiencies' sake, only serialize the upper half of the connection pairs
if (node2 > node1)
{
count++;
out->Write(node2.systemAddress);
out->Write(node2.groupId);
out->Write(node2.guid);
out->Write(weight);
#ifdef _CONNECTION_GRAPH_DEBUG_PRINT
RAKNET_DEBUG_PRINTF("(%i) ", node2.systemAddress.port);
#endif
}
}
// Go back and change how many elements were written
oldOffset=out->GetWriteOffset();
out->SetWriteOffset(countOffset);
out->Write(count);
out->SetWriteOffset(oldOffset);
}
}
示例6: RakAssert
SOCKET SocketLayer::Connect( SOCKET writeSocket, unsigned int binaryAddress, unsigned short port )
{
RakAssert( writeSocket != (SOCKET) -1 );
sockaddr_in connectSocketAddress;
connectSocketAddress.sin_family = AF_INET;
connectSocketAddress.sin_port = htons( port );
connectSocketAddress.sin_addr.s_addr = binaryAddress;
if ( connect( writeSocket, ( struct sockaddr * ) & connectSocketAddress, sizeof( struct sockaddr ) ) != 0 )
{
#if defined(_WIN32) && !defined(_XBOX) && defined(_DEBUG) && !defined(X360)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) &messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "WSAConnect failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
#endif
}
return writeSocket;
}
示例7: defined
void WSAStartupSingleton::AddRef(void)
{
#if defined(_WIN32) && !defined(WINDOWS_STORE_RT)
refCount++;
if (refCount!=1)
return;
WSADATA winsockInfo;
if ( WSAStartup( MAKEWORD( 2, 2 ), &winsockInfo ) != 0 )
{
#if defined(_DEBUG) && !defined(WINDOWS_PHONE_8)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "WSAStartup failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
#endif
}
#endif
}
示例8: RakAssert
void FileList::DeleteFiles(const char *applicationDirectory)
{
char fullPath[512];
unsigned i,j;
for (i=0; i < fileList.Size(); i++)
{
// The filename should not have .. in the path - if it does ignore it
for (j=1; j < fileList[i].filename.GetLength(); j++)
{
if (fileList[i].filename[j]=='.' && fileList[i].filename[j-1]=='.')
{
#ifdef _DEBUG
RakAssert(0);
#endif
// Just cancel the deletion entirely
return;
}
}
strcpy(fullPath, applicationDirectory);
FixEndingSlash(fullPath);
strcat(fullPath, fileList[i].filename.C_String());
#ifdef _MSC_VER
#pragma warning( disable : 4966 ) // unlink declared deprecated by Microsoft in order to make it harder to be cross platform. I don't agree it's deprecated.
#endif
int result = unlink(fullPath);
if (result!=0)
{
RAKNET_DEBUG_PRINTF("FileList::DeleteFiles: unlink (%s) failed.\n", fullPath);
}
}
}
示例9: defined
void SocketLayer::SetDoNotFragment( SOCKET listenSocket, int opt )
{
#if defined(IP_DONTFRAGMENT )
#if defined(_WIN32) && !defined(_XBOX) && defined(_DEBUG) && !defined(X360)
// If this assert hit you improperly linked against WSock32.h
RakAssert(IP_DONTFRAGMENT==14);
#endif
if ( setsockopt( listenSocket, IPPROTO_IP, IP_DONTFRAGMENT, ( char * ) & opt, sizeof ( opt ) ) == -1 )
{
#if defined(_WIN32) && defined(_DEBUG)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
RAKNET_DEBUG_PRINTF( "setsockopt(IP_DONTFRAGMENT) failed:Error code - %d\n%s", dwIOError, messageBuffer );
LocalFree( messageBuffer );
#endif
}
#endif
}
示例10: sizeof
SystemAddress SocketLayer::GetSystemAddress ( SOCKET s )
{
sockaddr_in sa;
socklen_t len = sizeof(sa);
if (getsockname(s, (sockaddr*)&sa, &len)!=0)
{
#if defined(_WIN32) && !defined(_XBOX) && !defined(X360) && defined(_DEBUG)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "getsockname failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
#endif
return UNASSIGNED_SYSTEM_ADDRESS;
}
SystemAddress out;
out.port=ntohs(sa.sin_port);
out.binaryAddress=sa.sin_addr.s_addr;
return out;
}
示例11: sizeof
void RNS2_Berkley::GetSystemAddressIPV4And6 ( RNS2Socket rns2Socket, SystemAddress *systemAddressOut )
{
#if RAKNET_SUPPORT_IPV6==1
socklen_t slen;
sockaddr_storage ss;
slen = sizeof(ss);
if ( getsockname__(rns2Socket, (struct sockaddr *)&ss, &slen)!=0)
{
#if defined(_WIN32) && defined(_DEBUG)
DWORD dwIOError = GetLastError();
LPVOID messageBuffer;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwIOError, MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), // Default language
( LPTSTR ) & messageBuffer, 0, NULL );
// something has gone wrong here...
RAKNET_DEBUG_PRINTF( "getsockname failed:Error code - %d\n%s", dwIOError, messageBuffer );
//Free the buffer.
LocalFree( messageBuffer );
#endif
systemAddressOut->FromString(0);
return;
}
if (ss.ss_family==AF_INET)
{
memcpy(&systemAddressOut->address.addr4,(sockaddr_in *)&ss,sizeof(sockaddr_in));
systemAddressOut->debugPort=ntohs(systemAddressOut->address.addr4.sin_port);
uint32_t zero = 0;
if (memcmp(&systemAddressOut->address.addr4.sin_addr.s_addr, &zero, sizeof(zero))==0)
systemAddressOut->SetToLoopback(4);
// systemAddressOut->address.addr4.sin_port=ntohs(systemAddressOut->address.addr4.sin_port);
}
else
{
memcpy(&systemAddressOut->address.addr6,(sockaddr_in6 *)&ss,sizeof(sockaddr_in6));
systemAddressOut->debugPort=ntohs(systemAddressOut->address.addr6.sin6_port);
char zero[16];
memset(zero,0,sizeof(zero));
if (memcmp(&systemAddressOut->address.addr4.sin_addr.s_addr, &zero, sizeof(zero))==0)
systemAddressOut->SetToLoopback(6);
// systemAddressOut->address.addr6.sin6_port=ntohs(systemAddressOut->address.addr6.sin6_port);
}
#else
(void) rns2Socket;
(void) systemAddressOut;
return;
#endif
}
示例12: BITS_TO_BYTES
void Router::SendTree(PacketPriority priority, PacketReliability reliability, char orderingChannel, DataStructures::Tree<ConnectionGraph::SystemAddressAndGroupId> *tree, const char *data, BitSize_t bitLength, RakNet::BitStream *out, SystemAddressList *recipients)
{
BitSize_t outputOffset;
// Write routing identifer
out->Write((MessageID)ID_ROUTE_AND_MULTICAST);
// Write the send parameters
out->WriteCompressed((unsigned char)priority);
out->WriteCompressed((unsigned char)reliability);
out->WriteCompressed((unsigned char)orderingChannel);
// Write the user payload length
out->Write((unsigned int)bitLength);
// out->PrintBits();
// payload->PrintBits();
out->AlignWriteToByteBoundary();
// payload->AlignReadToByteBoundary();
// out->Write(payload, payload->GetNumberOfUnreadBits());
// out->PrintBits();
if ((bitLength % 8)==0)
out->Write(data, BITS_TO_BYTES(bitLength));
else
out->WriteBits((const unsigned char*)data, bitLength, false);
// Save where to start writing per-system data
outputOffset=out->GetWriteOffset();
// Write every child of the root of the tree (SystemAddress, isRecipient, branch)
unsigned i;
for (i=0; i < tree->children.Size(); i++)
{
// Start writing at the per-system data byte
out->SetWriteOffset(outputOffset);
// Write our external IP to designate the sender
out->Write(rakPeerInterface->GetExternalID(tree->children[i]->data.systemAddress));
// Serialize the tree
SerializePreorder(tree->children[i], out, recipients);
// Send to the first hop
#ifdef _DO_PRINTF
RAKNET_DEBUG_PRINTF("%i sending to %i\n", rakPeerInterface->GetExternalID(tree->children[i]->data.systemAddress).port, tree->children[i]->data.systemAddress.port);
#endif
SendUnified(out, priority, reliability, orderingChannel, tree->children[i]->data.systemAddress, false);
}
}
示例13: setsockopt__
RNS2SendResult RNS2_Windows_Linux_360::Send_Windows_Linux_360NoVDP( RNS2Socket rns2Socket, RNS2_SendParameters *sendParameters, const char *file, unsigned int line ) {
int len=0;
do
{
(void) file;
(void) line;
int oldTTL=-1;
if (sendParameters->ttl>0)
{
socklen_t opLen=sizeof(oldTTL);
// Get the current TTL
if (getsockopt__(rns2Socket, sendParameters->systemAddress.GetIPPROTO(), IP_TTL, ( char * ) & oldTTL, &opLen ) != -1)
{
int newTTL=sendParameters->ttl;
setsockopt__(rns2Socket, sendParameters->systemAddress.GetIPPROTO(), IP_TTL, ( char * ) & newTTL, sizeof ( newTTL ) );
}
}
if (sendParameters->systemAddress.address.addr4.sin_family==AF_INET)
{
len = sendto__( rns2Socket, sendParameters->data, sendParameters->length, 0, ( const sockaddr* ) & sendParameters->systemAddress.address.addr4, sizeof( sockaddr_in ) );
}
else
{
#if RAKNET_SUPPORT_IPV6==1
len = sendto__( rns2Socket, sendParameters->data, sendParameters->length, 0, ( const sockaddr* ) & sendParameters->systemAddress.address.addr6, sizeof( sockaddr_in6 ) );
#endif
}
if (len<0)
{
RAKNET_DEBUG_PRINTF("sendto failed with code %i for char %i and length %i.\n", len, sendParameters->data[0], sendParameters->length);
}
if (oldTTL!=-1)
{
setsockopt__(rns2Socket, sendParameters->systemAddress.GetIPPROTO(), IP_TTL, ( char * ) & oldTTL, sizeof ( oldTTL ) );
}
}
while ( len == 0 );
return len;
}
示例14: RAKNET_DEBUG_PRINTF
void RNS2_NativeClient::onSendTo(void* pData, int32_t dataSize)
{
if(dataSize <= 0)
RAKNET_DEBUG_PRINTF("onSendTo: send failed with error %d\n", dataSize);
RNS2_SendParameters_NativeClient *sp = (RNS2_SendParameters_NativeClient*) pData;
// Caller will check sendInProgress to send again if needed
sp->socket2->sendInProgressMutex.Lock();
sp->socket2->sendInProgress=false;
sp->socket2->sendInProgressMutex.Unlock();
DeallocSP(sp);
// if(dataSize == PP_ERROR_ABORTED)
// return;
}
示例15: _findnext
int _findnext(long h, _finddata_t *f)
{
RakAssert(h >= 0 && h < (long)fileInfo.Size());
if (h < 0 || h >= (long)fileInfo.Size()) return -1;
_findinfo_t* fi = fileInfo[h];
while(true)
{
dirent* entry = readdir(fi->openedDir);
if(entry == 0) return -1;
// Only report stuff matching our filter
if (fnmatch(fi->filter, entry->d_name, FNM_PATHNAME) != 0) continue;
// To reliably determine the entry's type, we must do
// a stat... don't rely on entry->d_type, as this
// might be unavailable!
struct stat filestat;
RakNet::RakString fullPath = fi->dirName + entry->d_name;
if (stat(fullPath, &filestat) != 0)
{
RAKNET_DEBUG_PRINTF("Cannot stat %s\n", fullPath.C_String());
continue;
}
if (S_ISREG(filestat.st_mode))
{
f->attrib = _A_NORMAL;
} else if (S_ISDIR(filestat.st_mode))
{
f->attrib = _A_SUBDIR;
} else continue; // We are interested in files and
// directories only. Links currently
// are not supported.
f->size = filestat.st_size;
strncpy(f->name, entry->d_name, STRING_BUFFER_SIZE);
return 0;
}
return -1;
}