Hi.
Another solution for this might be for you to write your own
POE::Filter that interprets the stream exactly like what you want,
and therefore became immune to this problem with TCP frames.
If you really want different frames, and total control, then there is
always UDP...
Bye,
On 2006/08/31, at 00:30, lanas wrote:
Folks,
Using POE::Component::Client::TCP, I want to send several short
messages to a server. The server expects each message as a
stand-alone message so that it knows that the first byte is a command,
the second 4 four bytes a data length, etc...
But when I send 4 short messages one right after the other, the 2nd,
3rd and 4th gets bundled 'automagically' into one TCP transmission,
and this messes the server. I do not want to touch the server, which
I haven't written anyways.
So here's how I send the short messages:
$_[HEAP]->{server}->put($test1)
$_[HEAP]->{server}->put($test2)
$_[HEAP]->{server}->put($test3)
$_[HEAP]->{server}->put($test4)
Is there a way to make certain that each of these messages gets sent
on its own in a separate TCP transmission and this, without
introducing
any delay ?
If I put a delay between eahc message then each gets sent
separately.
If I loop around ServerFlushed, sending a message each time
ServerFlushed is call, would I get the desired result ? I tried in
another setting with ClientFlushed (Component::Server::TCP) and it
still bundled the messages together in one transmission.
Any help/ideas/suggestions very much appreciated, thanks !
Al
Folks,
Using POE::Component::Client::TCP, I want to send several short
messages to a server. The server expects each message as a
stand-alone message so that it knows that the first byte is a command,
the second 4 four bytes a data length, etc...
But when I send 4 short messages one right after the other, the 2nd,
3rd and 4th gets bundled 'automagically' into one TCP transmission,
and this messes the server. I do not want to touch the server, which
I haven't written anyways.
So here's how I send the short messages:
$_[HEAP]->{server}->put($test1)
$_[HEAP]->{server}->put($test2)
$_[HEAP]->{server}->put($test3)
$_[HEAP]->{server}->put($test4)
Is there a way to make certain that each of these messages gets sent
on its own in a separate TCP transmission and this, without
introducing
any delay ?
If I put a delay between eahc message then each gets sent
separately.
If I loop around ServerFlushed, sending a message each time
ServerFlushed is call, would I get the desired result ? I tried in
another setting with ClientFlushed (Component::Server::TCP) and it
still bundled the messages together in one transmission.
Any help very much appreciated, thanks !
Al
--
Pedro Melo
JID: xmpp:[EMAIL PROTECTED]