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


C++ Transport::Update方法代码示例

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


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

示例1: main

int main( int argc, char * argv[] )
{
    // initialize and create transport

    TransportType type = Transport_LAN;

    if ( !Transport::Initialize( Transport_LAN ) )
    {
        printf( "failed to initialize transport layer\n" );
        return 1;
    }

    Transport * transport = Transport::Create();

    if ( !transport )
    {
        printf( "could not create transport\n" );
        return 1;
    }

    // start server (transport specific)

    switch ( type )
    {
    case Transport_LAN:
    {
        TransportLAN * lan_transport = dynamic_cast<TransportLAN*>( transport );
        char hostname[64+1] = "hostname";
        TransportLAN::GetHostName( hostname, sizeof(hostname) );
        lan_transport->StartServer( hostname );
    }
    break;

    default:
        break;
    }

    // main loop

    const float DeltaTime = 1.0f / 30.0f;

    while ( true )
    {
        transport->Update( DeltaTime );
        wait_seconds( DeltaTime );
    }

    // shutdown

    Transport::Destroy( transport );

    Transport::Shutdown();

    return 0;
}
开发者ID:gene9,项目名称:netgame-examples,代码行数:55,代码来源:Server.cpp

示例2: main

int main( int argc, char * argv[] )
{
	// initialize and create transport
	
	TransportType type = Transport_LAN;
	
	if ( !Transport::Initialize( Transport_LAN ) )
	{
		printf( "failed to initialize transport layer\n" );
		return 1;
	}
	
	Transport * transport = Transport::Create();
	
	if ( !transport )
	{
		printf( "could not create transport\n" );
		return 1;
	}
	
	// connect to server (transport specific)
	
	switch ( type )
	{
		case Transport_LAN:
		{
			TransportLAN * lan_transport = dynamic_cast<TransportLAN*>( transport );
			if ( argc >= 2 )
				lan_transport->ConnectClient( argv[1] );
			else
			{
				char hostname[64+1];
				TransportLAN::GetHostName( hostname, sizeof(hostname) );
				lan_transport->ConnectClient( hostname );
			}
		}
		break;
		
		default:
			break;
	}

	// main loop

	const float DeltaTime = 1.0f / 30.0f;

	bool connected = false;

	while ( true )
	{
		if ( type == Transport_LAN )
		{
			TransportLAN * lan_transport = dynamic_cast<TransportLAN*>( transport );
			if ( !connected && lan_transport->IsConnected() )
				connected = true;
			if ( connected && !lan_transport->IsConnected() )
			{
				printf( "disconnected\n" );
				break;
			}
			if ( lan_transport->ConnectFailed() )
			{
				printf( "connect failed\n" );
				break;
			}
		}

		transport->Update( DeltaTime );
		
		wait_seconds( DeltaTime );
	}
	
	// shutdown
	
	Transport::Destroy( transport );
	
	Transport::Shutdown();

	return 0;
}
开发者ID:HeartForLife,项目名称:netgame,代码行数:80,代码来源:Client.cpp

示例3: main

int main( int argc, char * argv[] )
{
	// initialize and create transport
	
	TransportType type = Transport_LAN;
	
	if ( !Transport::Initialize( Transport_LAN ) )
	{
		printf( "failed to initialize transport layer\n" );
		return 1;
	}
	
	Transport * transport = Transport::Create();
	
	if ( !transport )
	{
		printf( "could not create transport\n" );
		return 1;
	}
	
	// enter lobby (transport specific)
	
	switch ( type )
	{
		case Transport_LAN:
		{
			TransportLAN * lan_transport = dynamic_cast<TransportLAN*>( transport );
			lan_transport->EnterLobby();
		}
		break;
		
		default:
			break;
	}

	// main loop

	const float DeltaTime = 1.0f / 30.0f;

	float accumulator = 0.0f;

	while ( true )
	{
		accumulator += DeltaTime;

		while ( accumulator >= 1.5f )
		{
			switch ( type )
			{
				case Transport_LAN:
				{
					TransportLAN * lan_transport = dynamic_cast<TransportLAN*>( transport );
					printf( "---------------------------------------------\n" );
					const int entryCount = lan_transport->GetLobbyEntryCount();
					for ( int i = 0; i < entryCount; ++i )
					{
						TransportLAN::LobbyEntry entry;
						if ( lan_transport->GetLobbyEntryAtIndex( i, entry ) )
							printf( "%s -> %s\n", entry.name, entry.address );
					}
					printf( "---------------------------------------------\n" );
				}
				break;

				default:
					break;
			}

			accumulator -= 1.5f;
		}
		
		transport->Update( DeltaTime );
		
		wait_seconds( DeltaTime );
	}
	
	// shutdown
	
	Transport::Destroy( transport );
	
	Transport::Shutdown();

	return 0;
}
开发者ID:alexsharoff,项目名称:netgame-examples,代码行数:84,代码来源:Lobby.cpp


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