(SFMLとRakNetを使用して)ネットワーク機能を備えたクロスプラットフォームゲームを作成しています。私はUbuntuサーバーでサーバーをコンパイルしてクライアントを取得しました私のMacで。すべての開発は私のMac上で行われていますので、当初はそのサーバーをテストしていましたが、うまくいきました。C++でクロスプラットフォーム構造体を作成して使用する
私はstruct
をネットワーク経由で送信してから、char *
から(例えば)inet::PlayerAdded
に戻して送信します。今これはうまく動作しています(大部分)が、私の質問です:これはいつも動作しますか?非常に壊れやすいアプローチのようです。構造体は、他のプラットフォーム(Windowsなど)でも同じレイアウトになっていますか?あなたは何をお勧めします?
#pragma pack(push, 1)
struct Player
{
int dir[2];
int left;
float depth;
float elevation;
float velocity[2];
char character[50];
char username[50];
};
// I have been added to the game and my ID is back
struct PlayerAdded: Packet
{
id_type id;
Player player;
};
#pragma pack(pop)
シリアルダウンボートには、何らかの理由がありますか? (スティーブのdownvoteは特に大変そうです) – KevinDTimm
このような場所では意味がありません。私はそれについて心配しません。 –
私はポイントについて気にしない、私はすべての答え(1つを除いて、すべての中で最も有用でない)がdownvoteを持っている理由を知りたい。特に(下落した)回答の1つが明らかに最高だったとき。 – KevinDTimm