本文整理汇总了C++中raknet::RakPeerInterface::SetSplitMessageProgressInterval方法的典型用法代码示例。如果您正苦于以下问题:C++ RakPeerInterface::SetSplitMessageProgressInterval方法的具体用法?C++ RakPeerInterface::SetSplitMessageProgressInterval怎么用?C++ RakPeerInterface::SetSplitMessageProgressInterval使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类raknet::RakPeerInterface
的用法示例。
在下文中一共展示了RakPeerInterface::SetSplitMessageProgressInterval方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(void)
{
char ch;
#ifdef USE_TCP
RakNet::PacketizedTCP tcp1;
#else
RakNet::RakPeerInterface *rakPeer;
#endif
// directoryDeltaTransfer is the main plugin that does the work for this sample.
RakNet::DirectoryDeltaTransfer directoryDeltaTransfer;
// The fileListTransfer plugin is used by the DirectoryDeltaTransfer plugin and must also be registered (you could use this yourself too if you wanted, of course).
RakNet::FileListTransfer fileListTransfer;
// Read files in parts, rather than the whole file from disk at once
RakNet::IncrementalReadInterface iri;
directoryDeltaTransfer.SetDownloadRequestIncrementalReadInterface(&iri, 1000000);
#ifdef USE_TCP
tcp1.AttachPlugin(&directoryDeltaTransfer);
tcp1.AttachPlugin(&fileListTransfer);
#else
rakPeer = RakNet::RakPeerInterface::GetInstance();
rakPeer->AttachPlugin(&directoryDeltaTransfer);
rakPeer->AttachPlugin(&fileListTransfer);
// Get download progress notifications. Handled by the plugin.
rakPeer->SetSplitMessageProgressInterval(100);
#endif
directoryDeltaTransfer.SetFileListTransferPlugin(&fileListTransfer);
printf("This sample demonstrates the plugin to incrementally transfer compressed\n");
printf("deltas of directories. In essence, it's a simple autopatcher.\n");
printf("Unlike the full autopatcher, it has no dependencies. It is suitable for\n");
printf("patching from non-dedicated servers at runtime.\n");
printf("Difficulty: Intermediate\n\n");
printf("Enter listen port. Enter for default. If running two instances on the\nsame computer, use 0 for the client.\n");
unsigned short localPort;
char str[256];
Gets(str, sizeof(str));
if (str[0]==0)
localPort=60000;
else
localPort=atoi(str);
RakNet::SocketDescriptor socketDescriptor(localPort,0);
#ifdef USE_TCP
bool b=tcp1.Start(localPort,8);
RakAssert(b);
#else
if (rakPeer->Startup(8,&socketDescriptor, 1)!=RakNet::RAKNET_STARTED)
{
RakNet::RakPeerInterface::DestroyInstance(rakPeer);
printf("RakNet initialize failed. Possibly duplicate port.\n");
return 1;
}
rakPeer->SetMaximumIncomingConnections(8);
#endif
printf("Commands:\n");
printf("(S)et application directory.\n");
printf("(A)dd allowed uploads from subdirectory.\n");
printf("(D)ownload from subdirectory.\n");
printf("(C)lear allowed uploads.\n");
printf("C(o)nnect to another system.\n");
printf("(Q)uit.\n");
RakNet::SystemAddress sysAddrZero=RakNet::UNASSIGNED_SYSTEM_ADDRESS;
RakNet::TimeMS nextStatTime = RakNet::GetTimeMS() + 1000;
RakNet::Packet *p;
while (1)
{
/*
if (//directoryDeltaTransfer.GetNumberOfFilesForUpload()>0 &&
RakNet::GetTimeMS() > nextStatTime)
{
// If sending, periodically show connection stats
char statData[2048];
RakNetStatistics *statistics = rakPeer->GetStatistics(rakPeer->GetSystemAddressFromIndex(0));
// if (statistics->messagesOnResendQueue>0 || statistics->internalOutputQueueSize>0)
if (rakPeer->GetSystemAddressFromIndex(0)!=RakNet::UNASSIGNED_SYSTEM_ADDRESS)
{
StatisticsToString(statistics, statData, 2);
printf("%s\n", statData);
}
nextStatTime=RakNet::GetTimeMS()+5000;
}
*/
// Process packets
#ifdef USE_TCP
p=tcp1.Receive();
#else
p=rakPeer->Receive();
#endif
#ifdef USE_TCP
RakNet::SystemAddress sa;
sa=tcp1.HasNewIncomingConnection();
//.........这里部分代码省略.........
示例2: main
int main(int argc, char **argv)
{
printf("A simple client interface for the advanced autopatcher.\n");
printf("Use DirectoryDeltaTransfer for a simpler version of an autopatcher.\n");
printf("Difficulty: Intermediate\n\n");
printf("Client starting...");
RakNet::SystemAddress serverAddress=RakNet::UNASSIGNED_SYSTEM_ADDRESS;
RakNet::AutopatcherClient autopatcherClient;
RakNet::FileListTransfer fileListTransfer;
autopatcherClient.SetFileListTransferPlugin(&fileListTransfer);
unsigned short localPort=0;
if (argc>=6)
{
localPort=atoi(argv[5]);
}
#ifdef USE_TCP
RakNet::PacketizedTCP packetizedTCP;
if (packetizedTCP.Start(localPort,1)==false)
{
printf("Failed to start TCP. Is the port already in use?");
return 1;
}
packetizedTCP.AttachPlugin(&autopatcherClient);
packetizedTCP.AttachPlugin(&fileListTransfer);
#else
RakNet::RakPeerInterface *rakPeer;
rakPeer = RakNet::RakPeerInterface::GetInstance();
RakNet::SocketDescriptor socketDescriptor(localPort,0);
rakPeer->Startup(1,&socketDescriptor, 1);
// Plugin will send us downloading progress notifications if a file is split to fit under the MTU 10 or more times
rakPeer->SetSplitMessageProgressInterval(10);
rakPeer->AttachPlugin(&autopatcherClient);
rakPeer->AttachPlugin(&fileListTransfer);
#endif
printf("started\n");
char buff[512];
if (argc<2)
{
printf("Enter server IP: ");
Gets(buff,sizeof(buff));
if (buff[0]==0)
//strcpy(buff, "94.198.81.195");
strcpy(buff, "127.0.0.1");
}
else
strcpy(buff, argv[1]);
#ifdef USE_TCP
packetizedTCP.Connect(buff,60000,false);
#else
rakPeer->Connect(buff, 60000, 0, 0);
#endif
printf("Connecting...\n");
char appDir[512];
if (argc<3)
{
printf("Enter application directory: ");
Gets(appDir,sizeof(appDir));
if (appDir[0]==0)
{
strcpy(appDir, "D:/temp2");
}
}
else
strcpy(appDir, argv[2]);
char appName[512];
if (argc<4)
{
printf("Enter application name: ");
Gets(appName,sizeof(appName));
if (appName[0]==0)
strcpy(appName, "TestApp");
}
else
strcpy(appName, argv[3]);
bool patchImmediately=argc>=5 && argv[4][0]=='1';
if (patchImmediately==false)
printf("Hit 'q' to quit, 'p' to patch, 'c' to cancel the patch. 'r' to reconnect. 'd' to disconnect.\n");
else
printf("Hit 'q' to quit, 'c' to cancel the patch.\n");
char ch;
RakNet::Packet *p;
while (1)
{
#ifdef USE_TCP
RakNet::SystemAddress notificationAddress;
notificationAddress=packetizedTCP.HasCompletedConnectionAttempt();
if (notificationAddress!=RakNet::UNASSIGNED_SYSTEM_ADDRESS)
{
printf("ID_CONNECTION_REQUEST_ACCEPTED\n");
serverAddress=notificationAddress;
}
notificationAddress=packetizedTCP.HasNewIncomingConnection();
if (notificationAddress!=RakNet::UNASSIGNED_SYSTEM_ADDRESS)
printf("ID_NEW_INCOMING_CONNECTION\n");
//.........这里部分代码省略.........