コード例 #1
0
        public void DoSend(INbtOutput data)
        {
            if (!IsAlive)
            {
                throw new CifsIoException("NB504");
            }

            int size = data.Size & 0xffff;

            // set packet header
            fSessionHeader[HDR_TYPE_1]  = SPT_MESSAGE;
            fSessionHeader[HDR_FLAGS_1] = 0;
            SetShortAt(HDR_LENGTH_2, fSessionHeader, (short)size);

            try
            {
                fOutput.Write(fSessionHeader, 0, fSessionHeader.Length);
                data.WriteTo(fOutput, size);
                fOutput.Flush();
            }
            catch (IOException e)
            {
                DoHangup(true);
                throw new CifsIoException("NB500").setDetail(e).setConnectionLost();
            }
        }
コード例 #2
0
ファイル: NBTSession.cs プロジェクト: modulexcite/cifs
        public void DoSend(INbtOutput data)
        {
            if(!IsAlive)
                throw new CifsIoException("NB504");

            int size = data.Size & 0xffff;

            // set packet header
            fSessionHeader[HDR_TYPE_1]  = SPT_MESSAGE;
            fSessionHeader[HDR_FLAGS_1] = 0;
            SetShortAt(HDR_LENGTH_2, fSessionHeader, (short)size);

            try
            {
                fOutput.Write(fSessionHeader, 0, fSessionHeader.Length);
                data.WriteTo(fOutput, size);
                fOutput.Flush();
            }
            catch(IOException e)
            {
                DoHangup(true);
                throw new CifsIoException("NB500").setDetail(e).setConnectionLost();
            }
        }