Newsgroups : Borland : borland.public.delphi.internet.winsock : 2008 Feb : Re: Indy 10 TIdIRC component problems.

www.cryer.info
Managed Newsgroup Archive

Re: Indy 10 TIdIRC component problems.

Subject:Re: Indy 10 TIdIRC component problems.
Posted by:"Remy Lebeau (TeamB)" (no.spam@no.spam.com)
Date:Wed, 6 Feb 2008 13:44:59

"Unspoken" <ff_aa_cc_ee_tt@wp.pl> wrote in message
news:47aa213f$1@newsgroups.borland.com...

> I've noticed that each time server sends something to my client,
> TIdIRC automatycially responds with message "200".

That appears to be a bug.  TIdIRC should not be doing that, and did not do
so in Indy 9.  According to RFC 2812:

    "A numeric reply is not allowed to originate from a client."

> How to prevent TIdIRC from sending this message?

You would have to edit TIdIRC's source code and then recompile Indy.  Update
each OnCommand event handler to set the TIdCommand.PerformReply property to
False each each command that is received.

> When I was using TIdTCPClient.IOHandler.Readln method I had
> every messages from the server. When I am using TIdIrc.OnRaw
> event, not every message from the server seems to get through.

You should be getting everything.  For every line that is read, an
OnBeforeCommandHandler event is triggered internally, which calls the OnRaw
event handler before the line is processed.

> For example the PING command to my client is somewhere earlier
> intercepted

PING is not intercepted anywhere.

> I assume that it is intercepted by the TIOhandler but where?

No, it is not.

> and I can't respond on it.

TIdIRC responds to PING automatically, and then triggers its OnPingPong
event to you afterwards.

> Maybe this is caused becuase I have to connect on different port
> (5579) instead of 6667 and I saw in the source that some constants
> define port 6667 as a main IRC port.

That has nothing to do with TIdIRC's ability to receive and parse inbound
commands once the connection is established.


Gambit

Replies:

In response to:

www.cryer.info
Managed Newsgroup Archive