Ignore:
Timestamp:
Aug 11, 2010, 7:37:01 AM (14 years ago)
Author:
Sam Habiel
Message:

Support for UTF-8 encoding.

Location:
BMXNET_RPMS_dotNET_UTILITIES-BMX/trunk/cs/bmx_0200scr/BMX2/BMXNet
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • BMXNET_RPMS_dotNET_UTILITIES-BMX/trunk/cs/bmx_0200scr/BMX2/BMXNet/BMXNet.csproj

    r822 r907  
    5252    <ConfigurationOverrideFile>
    5353    </ConfigurationOverrideFile>
    54     <DefineConstants>DEBUG</DefineConstants>
     54    <DefineConstants>TRACE;DEBUG</DefineConstants>
    5555    <DocumentationFile>bmxnet.xml</DocumentationFile>
    5656    <DebugSymbols>true</DebugSymbols>
     
    7373    <ConfigurationOverrideFile>
    7474    </ConfigurationOverrideFile>
    75     <DefineConstants>
    76     </DefineConstants>
     75    <DefineConstants>TRACE;DEBUG</DefineConstants>
    7776    <DocumentationFile>bmxnet.xml</DocumentationFile>
    7877    <DebugSymbols>true</DebugSymbols>
  • BMXNET_RPMS_dotNET_UTILITIES-BMX/trunk/cs/bmx_0200scr/BMX2/BMXNet/BMXNetLib.cs

    r852 r907  
    846846                        NetworkStream ns = tcpClient.GetStream();
    847847
    848             int nTimeOut = this.m_nReceiveTimeout;
    849                         int nCnt = 0;
    850             int nTimeElapsed = 0;
     848            int nTimeOut = this.m_nReceiveTimeout;  //timeout
     849                        int nCnt = 0;                           //number of times trying to get a message from the client
     850            int nTimeElapsed = 0;                   //compare with timeout; increment 50 ms everytime.
    851851                        while (ns.DataAvailable == false)
    852852                        {
     
    861861
    862862                        Debug.Assert(ns.DataAvailable == true);
    863                         if (ns.DataAvailable == false)
     863                        if (ns.DataAvailable == false)          //if still false, then we timed out.
    864864                        {
    865865                this.CloseConnection();
     
    868868                        }
    869869
    870                         byte[] bReadBuffer = new byte[1024];
    871                         string sReadBuffer = "";
    872                         StringBuilder sbAll = new StringBuilder("", 1024);
     870                        byte[] bReadBuffer = new byte[1024];                //byte buffer
     871                        string sReadBuffer = "";                            //string buffer
     872                        StringBuilder sbAll = new StringBuilder("", 1024);  //string builder
    873873                        int numberOfBytesRead = 0;
    874874
    875875                        // Incoming message may be larger than the buffer size.
    876876
    877                         bool bFinished = false;
    878                         int nFind = -1;
    879                         bool bStarted = false;
    880                         int lpBuf = 0;
    881                         string sError = "";
    882                         string sAppError = "";
     877                        bool bFinished = false;                             //finished reading?
     878                        int nFind = -1;                                     //Position of $C(4) (End of Transmission)
     879                        bool bStarted = false;  //Is the buffer started?
     880                        int lpBuf = 0;          //?
     881                        string sError = "";     //?
     882                        string sAppError = "";  //?
    883883                        do
    884884                        {
    885                                 numberOfBytesRead = ns.Read(bReadBuffer, 0, bReadBuffer.Length);
    886                                 if ((numberOfBytesRead == 1)&&(bStarted == false))
     885                                numberOfBytesRead = ns.Read(bReadBuffer, 0, bReadBuffer.Length); // read 1024 characters
     886                                if ((numberOfBytesRead == 1)&&(bStarted == false))               // if only one byte read, try again in 15 ms
    887887                                {
    888888                                        Thread.Sleep(15);
    889                                         numberOfBytesRead += ns.Read(bReadBuffer,1, bReadBuffer.Length-1);
     889                                        numberOfBytesRead += ns.Read(bReadBuffer,1, bReadBuffer.Length-1); //skip the first one of course
    890890                                        //Debug.Write("ReceiveString waiting for data...\n");
    891891                                }
    892                                 if (bStarted == false)
     892                                if (bStarted == false) //if this is the first transmission process error info
    893893                                {
    894894                                        //Process error info at beginning of returned string
     
    910910                                }
    911911
    912                                 nFind = FindChar(bReadBuffer, (char) 4);
    913                                 if (nFind > -1)
    914                                         bFinished = true;
    915                                 Debug.Assert(numberOfBytesRead > -1);
     912                                nFind = FindChar(bReadBuffer, (char) 4); //find end of transmission chracter
     913                                if (nFind > -1) // if found
     914                                        bFinished = true; //then we are finished
     915                                Debug.Assert(numberOfBytesRead > -1); // this must be true
    916916                                sReadBuffer = m_Encoding.GetString(bReadBuffer, lpBuf, numberOfBytesRead);
    917917                                lpBuf = 0;
    918918                                if (nFind > -1)
    919919                                {
    920                                         sbAll.Append(sReadBuffer, 0, numberOfBytesRead -1);
     920                                        //sbAll.Append(sReadBuffer, 0, numberOfBytesRead -1); //utf8
     921                    sbAll.Append(sReadBuffer, 0, sReadBuffer.Length - 1);
    921922                                }
    922923                                else
Note: See TracChangeset for help on using the changeset viewer.