本文整理汇总了C++中PacketStream::writeEnum方法的典型用法代码示例。如果您正苦于以下问题:C++ PacketStream::writeEnum方法的具体用法?C++ PacketStream::writeEnum怎么用?C++ PacketStream::writeEnum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PacketStream
的用法示例。
在下文中一共展示了PacketStream::writeEnum方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sendConnectReject
void NetInterface::sendConnectReject(ConnectionParameters *conn, const Address &theAddress, NetConnection::TerminationReason reason)
{
//if(!reason)
// return; // if the stream is NULL, we reject silently
PacketStream out;
out.write(U8(ConnectReject));
conn->mNonce.write(&out);
conn->mServerNonce.write(&out);
out.writeEnum(reason, NetConnection::TerminationReasons);
out.writeString("");
out.sendto(mSocket, theAddress);
}
示例2: disconnect
void NetInterface::disconnect(NetConnection *conn, NetConnection::TerminationReason reason, const char *reasonString)
{
// If we're still connecting...
if(conn->getConnectionState() == NetConnection::NotConnected ||
conn->getConnectionState() == NetConnection::AwaitingChallengeResponse ||
conn->getConnectionState() == NetConnection::AwaitingConnectResponse ||
conn->getConnectionState() == NetConnection::SendingPunchPackets ||
conn->getConnectionState() == NetConnection::ComputingPuzzleSolution)
{
conn->onConnectTerminated(reason, reasonString);
removePendingConnection(conn);
}
// If we're already connected
else if(conn->getConnectionState() == NetConnection::Connected)
{
conn->setConnectionState(NetConnection::Disconnected);
conn->onConnectionTerminated(reason, reasonString);
if(conn->isNetworkConnection())
{
// send a disconnect packet...
PacketStream out;
out.write(U8(Disconnect));
ConnectionParameters &theParams = conn->getConnectionParameters();
theParams.mNonce.write(&out);
theParams.mServerNonce.write(&out);
U32 encryptPos = out.getBytePosition();
out.setBytePosition(encryptPos);
out.writeEnum(reason, NetConnection::TerminationReasons);
out.writeString(reasonString);
if(theParams.mUsingCrypto)
{
SymmetricCipher theCipher(theParams.mSharedSecret);
out.hashAndEncrypt(NetConnection::MessageSignatureBytes, encryptPos, &theCipher);
}
out.sendto(mSocket, conn->getNetAddress());
}
removeConnection(conn);
}
}