Пример #1
0
        public void Begin(HvNetworkIO.Command comType, Action <BinaryWriter> func)
        {
            _memStream.Seek(0, SeekOrigin.Begin);               // ストリームのポインタを最初に戻す
            _stream.Write((int)comType);
            _stream.Write((int)0);
            var headerSize = _memStream.Position;

            func(_stream);

            var pos = _memStream.Position;

            _memStream.Seek(sizeof(int), SeekOrigin.Begin);
            _stream.Write((int)(pos - headerSize));
            _memStream.Position = pos;
        }
Пример #2
0
    // 開始
    public bool Begin(HvNetworkIO.Command comType, Action <BinaryWriter> func)
    {
        //
        lock (_senderSync)
        {
            if (!this.CheckWriter())
            {
                return(false);
            }

            var buff = this.GetFreeBuffer();
            buff.Begin(comType, func);

            this.BeginWrite(buff);

            return(true);
        }
    }
Пример #3
0
    //
    public bool Begin(HvNetworkIO.Command comType, IntPtr p, int dataSize)
    {
        lock (_senderSync)
        {
            if (!this.CheckWriter())
            {
                return(false);
            }

            var buff = this.GetFreeBuffer();
            buff.Begin(comType, dataSize);

            this.BeginWrite(buff);

            if (dataSize == 0)
            {
                return(true);
            }

            this.Write(p, dataSize);

            return(true);
        }
    }
Пример #4
0
 // サイズのみ書き込み
 public void Begin(HvNetworkIO.Command comType, int size)
 {
     _memStream.Seek(0, SeekOrigin.Begin);               // ストリームのポインタを最初に戻す
     _stream.Write((int)comType);
     _stream.Write(size);
 }