STATE StateNetwork::Update()
{
	if(m_pNetworkControler && (m_pNetworkControler->GetNetworkState() == CLIENT))
	{
		m_pNetworkControler->ReceivePacket();

		SmartPointer<PacketAddr> pAddr;
		if((pAddr = m_pNetworkControler->GetPacket()) != NULL)
		{
			if( pAddr->m_Packet.Protocolid() == CONNECT_REQ)
			{
				UserInfomationPacketMaker pkMaker;
				pkMaker.SetPacket(&pAddr->m_Packet);
				UserList lst = pkMaker.OutPutUserInformation();
				UserList::iterator iter;
				for(iter = lst.begin(); iter != lst.end(); iter++)
				{
					//여기에다가 이미 존재하는 유져가 있을경우 AddUser를 호출하지 않게 만들어야 함...
					m_pNetworkControler->AddUser((*iter));
					delete (*iter);
				}
				lst.clear();

				m_pNetworkControler->SetMyUserID(pAddr->m_Packet.ID());
				return STATE_WAITINGROOM;
			}
		}
	}

	if(m_bSelectState)
		return STATE_WAITINGROOM;
	else
		return STATE_NONE;
}