私は少し前に書いたC++プログラムからコードを書き直そうとしていますが、バイト配列に正しく書き込むことができないかどうか、または何か他のものを使用している。 C#.NETに変更しようとしているコードは以下の通りです。UDPパケットを正しく書き込む方法
unsigned char pData[1400];
bf_write g_ReplyInfo("SVC_ReplyInfo", &pData, 1400);
void PlayerManager::BuildReplyInfo()
{
// Delete the old packet
g_ReplyInfo.Reset();
g_ReplyInfo.WriteLong(-1);
g_ReplyInfo.WriteByte(73);
g_ReplyInfo.WriteByte(g_ProtocolVersion.GetInt());
g_ReplyInfo.WriteString(iserver->GetName());
g_ReplyInfo.WriteString(iserver->GetMapName());
}
さらに検索した後、BinaryWriterとMemoryStreamが見つかりました。すべてが機能しているようです。 Write()のために使用するオーバーロードを指定できないので、私は手動でlongとshortをバイトに変換する必要がありますか? –