Article View: borland.public.cppbuilder.internet.socket
Article #2471Re: TServerSocket SendText Exception
From: Eric Patterson
Date: Mon, 17 Apr 2006 18:24
Date: Mon, 17 Apr 2006 18:24
54 lines
2926 bytes
2926 bytes
After thinking a minute, what about this:
int len = AMsg.Length();
while(len > 0)
{
len -=
Server->ServerSocket1->Socket->Connections[ii]->SendText(AnsiString(AMsg+"\n"))
if( len != 0)
{
Sleep(10); // allow some time for Socket to send
the queued up data.
}
}
That way it will continue to send until no more length is detected. The
only thing I don't like is that when it returns a negative value I won't do
anything but add to my length (which is probably wrong) but I figure if a
negative is returned then the OnError event should catch it.
Eric
"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message
news:4443ca2a$1@newsgroups.borland.com...
>
> "Eric Patterson" <eric.patterson@bepco.com> wrote in message
> news:44439c71$1@newsgroups.borland.com...
>
>> I check to make sure there is an active connection right before I do
>> a SendText and pass it an ansistring.
>
> Your code is not using SendText() correctly in general. You are not
> taking
> into account that SendText() may not send all of your data in a single
> operation, requiring you to re-call SendText() multiple times in a loop in
> order to send all of your string. Please go to http://www.deja.com and
> search through the newsgroup archives. Sample code has been posted many
> times before.
>
> The exception is being thrown at random times usually after running more
>> then 6 hours. The exception that is being thrown is an invalid integer
>> exception.
>
> Do you mean that you are getting an EListError exception with a message of
> "List index out of bounds (12345)" ? If so, then the only way that
> particular exception can occur in the code you showed is if you are
> passing
> an incorrect index value to the Connections[] property.
>
>
> Gambit
>
>
Technical Details
Message-ID:
<4443dd4e@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mailReferences:
<44439c71$1@newsgroups.borland.com> <4443ca2a$1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 11508e,fea0b13af0f4efa8 X-Google-Attributes: gid11508e,public X-Google-Language: ENGLISH,ASCII-7-bit From: "Eric Patterson" <eric.patterson@bepco.com> Newsgroups: borland.public.cppbuilder.internet.socket References: <44439c71$1@newsgroups.borland.com> <4443ca2a$1@newsgroups.borland.com> Subject: Re: TServerSocket SendText Exception Date: Mon, 17 Apr 2006 14:24:09 -0400 Lines: 56 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2869 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 X-RFC2646: Format=Flowed; Original NNTP-Posting-Host: 70.225.107.130 Message-ID: <4443dd4e@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1145298254 70.225.107.130 (17 Apr 2006 11:24:14 -0700) Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail