Здравствуйте Vyacheslav_M, Вы писали:
VM>Привет всем!
VM>Есть следующая задача:
VM>есть переменная
VM>int var;
VM>структура
VM>private struct s
VM>{
VM> public bool Move;
VM> public int xPos;
VM> public int yPos;
VM>}
VM>s tmp;
VM>и массив байтов
VM>byte[]=new byte[n];
VM>дак вот, надо эту переменную, структуру и массив байтов запихать в другой массив байтов
VM>что бы отправить в socket а на клиентской стороне все это вытащить из того же массива байтов.
VM>Как все это организовать без указателей?
Ну для int и byte[] все просто
MemoryStream ms = new MemoryStream();
BinaryWriter bw = new BinaryWriter(ms);
br.Write(var);
br.Write(bytearr);
socket.Send(ms.Buffer);
Для классов и структур все немножко посложнее
//Твою структурку надо пометить как сериализуемую
[Serializable]
private struct s {
public bool Move;
public int xPos;
public int yPos;
}
...
//Ну а далее выбираешь сериализатор и вперед
MemoryStream ms = new MemoryStream();
BinaryWriter bw = new BinaryWriter(ms);
IFormatter formatter = new BinaryFormatter();
br.Write(var);
formatter.Serialize(ms,s);
br.Write(bytearr);
socket.Send(ms.Buffer);