Re: [twsocket] Newbie question : Working with Long strings

2007-09-26 Thread Wilfried Mestdagh
Hello Clément,

 I searched some examples, but most of them use LineMode and LineLimit. I'm 
 afraid
 that's not an option.

Wy is that not an option ? What is the problem with it ? Just terminate
your data with a charcter that cannot be in the data itself and your
whole problem is solved.

 // here I expect Len = BufSize. If it's equal than may be there's 
 more to
 // read. How can I be sure? Does ICS have some internal flag ?

You cannot. ICS also cannot have a flag. Data can be somwhere on the
way or send may send some more data. winsock cannot know what sender
wants.

 if Len = 0 then begin
// Something happened!! What?

Winsock does not like to let us receive data, so exit the event.

 if Len=-1 then begin
// Seems to be the end of a long string. Once len = -1, can

No it is not a long string. -1 is an error. just exit the event.

 // Now the problem:
 // I must cache the received zBuf
 FRcvBuf := FRcvBuf+ string(zBuf);
 // If we read all the data, we display it

If you have a problem with linemode, the send first the length of the
data you want to send. then receiver has length and can concatenate all
data packets until it is same as the length.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread Wilfried Mestdagh
Hello David,

 On a certain XML packet/event I'm getting duplicates (x3).  It may
 well be that they are sending the same packet multiple times but I
 wondered if it's anything I am doing that could cause this?

Something that can cause this (and other strange behaviour) is if you
call direct or indirect the message pump in the OnDataAvailable (or any
other) event.

Note that showing a modal form or a menu and so is also pumping
messages.

Also to be sure, you can download SocketSpy (on user made page) and
'hang' it between your server and client. Then you can see exact what is
sent. If it appears there also 3 times then the server is really sending
it 3 times.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread David Perkins
Thanks Wilfried

The app uses a main form with some buttons for the user to log in and
send packets, but there is no additional message pumping going on.  It
only happens on one particular packet type they send so I'm hoping
it's them



On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
 Hello David,

  On a certain XML packet/event I'm getting duplicates (x3).  It may
  well be that they are sending the same packet multiple times but I
  wondered if it's anything I am doing that could cause this?

 Something that can cause this (and other strange behaviour) is if you
 call direct or indirect the message pump in the OnDataAvailable (or any
 other) event.

 Note that showing a modal form or a menu and so is also pumping
 messages.

 Also to be sure, you can download SocketSpy (on user made page) and
 'hang' it between your server and client. Then you can see exact what is
 sent. If it appears there also 3 times then the server is really sending
 it 3 times.

 ---
 Rgds, Wilfried [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html
 http://www.mestdagh.biz

 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread Wilfried Mestdagh
Hello David,

Eventually you can check with SocketSpy what exacly is sent.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


[twsocket] 100% CPU usage if data is not processed immediately

2007-09-26 Thread Olivier Sannier
Hi,

I'm using TWSocketS with a custom TWSocket derived class called 
TMyClientSocket to implement a TCP/IP server.
I have overridden TriggerDataAvailable in TMyClientSocket in such a way:

function TROAsyncSuperTcpServerSocketClient.TriggerDataAvailable(
  Error: Word): Boolean;
begin
  inherited TriggerDataAvailable(Error);

  NotifyDataAvailable;
 
  // Return True to indicate that we do not want the data to be dropped.
  Result := True;
end;


The NotifyDataAvailable sets a flag in an object associated to the 
client socket that will then read the available bytes. But it will not 
do so immediately, clearly after the TriggerDataAvailable has returned. 
This does not prove to be a problem because all data is queued up until 
it is actually read, up to a certain limit that I doubt I'll ever reach.
Usually, this takes a few milliseconds but it happens sometimes that it 
takes up to 10 seconds. Ok, this is relatively rare for production use, 
but because I'm doing tests on the server, I'm seeing this quite often.
And this is where I have a problem, because while the data is waiting to 
be read, the processor usage is 100% (or 1CPU on multi cpu systems). I 
traced it and that's because TCustomWSocket.ASyncReceive does a loop 
while the bMore variable is True, without ever giving the operating 
system to do anything. Hence the 100%CPU usage. To me, this could be 
avoided by adding the following two lines at the end of the loop:

if bMore then
Sleep(1); { to avoid 100% CPU }

At line 4231, right after the end of the try except block.
To me this has little to no effect as the sleep is only done when bMore 
is True.
What do you think of this proposal?

Any comments are welcome.
Regards
Olivier Sannier
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] 100% CPU usage if data is not processed immediately

2007-09-26 Thread Wilfried Mestdagh
Hello Olivier,

 The NotifyDataAvailable sets a flag in an object associated to the
 client socket that will then read the available bytes. But it will not
 do so immediately

That's the problem. You have to read all available data In the
OnDataAvailable event. If you do not then OnDataAvailable will fire
again in a loop where you must receive the rest of the data, or if you
set wsoNoReceiveLoop in ComponentOptions property then it is fired using
a custom message handler.

So the Sleep is not needed. Also it is a bad idea because if there is
high speed data received and more than will be received in the event it
will delay the reception of data during a time slice (10..20 millisec
depending on the OS) and will grow winsock internal receive buffer,
because during the Sleep the message pump is not working.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Newbie question : Working with Long strings

2007-09-26 Thread Clément Doss
Hello Wilfried,

Thanks for helping me!
 Hello Clément,

   
 I searched some examples, but most of them use LineMode and LineLimit. I'm 
 afraid
 that's not an option.
 

 Wy is that not an option ? What is the problem with it ? Just terminate
 your data with a charcter that cannot be in the data itself and your
 whole problem is solved.

   
Ok. But can I place a LineLimit over 200kbytes? or better yet,
unlimited? (those help files can get very big may be over 1Mb)
Can I set the LineLimit at runtime at any time? Where/when should be the
correct place to update LineLimit? For example, once I check the data
length is larger then the limit, then I add a few more bytes, save this
new limit in a .ini for example.

Best regards,
Clément

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] 100% CPU usage if data is not processed immediately

2007-09-26 Thread Olivier Sannier
Wilfried Mestdagh wrote:
 Hello Olivier,

   
 The NotifyDataAvailable sets a flag in an object associated to the
 client socket that will then read the available bytes. But it will not
 do so immediately
 

 That's the problem. You have to read all available data In the
 OnDataAvailable event. If you do not then OnDataAvailable will fire
 again in a loop where you must receive the rest of the data, or if you
 set wsoNoReceiveLoop in ComponentOptions property then it is fired using
 a custom message handler.
   
That's what I thought, but then again, this means I need to have a 
buffer of my own, and I have no idea which size it should be. 1k, 10k, more?

 So the Sleep is not needed. Also it is a bad idea because if there is
 high speed data received and more than will be received in the event it
 will delay the reception of data during a time slice (10..20 millisec
 depending on the OS) and will grow winsock internal receive buffer,
 because during the Sleep the message pump is not working.
   
I know that, but with 100%CPU usage, the handling of messages is stopped 
anyway as well as no other thread will be able to take control. Well, 
maybe on a multi core, but not on single core machines.
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] 100% CPU usage if data is not processed immediately

2007-09-26 Thread Arno Garrels
Olivier Sannier wrote:

 
 if bMore then
 Sleep(1); { to avoid 100% CPU }
 
 At line 4231, right after the end of the try except block.
 To me this has little to no effect as the sleep is only done when
 bMore is True.
 What do you think of this proposal?

That would slow down performance when you use the component as designed.
When the application is idle it should read incomming data immediately.
There is no reason to wait until a certain amount of data is pending
to be read from winsock. 

--
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html


Olivier Sannier wrote:
 Hi,
 
 I'm using TWSocketS with a custom TWSocket derived class called
 TMyClientSocket to implement a TCP/IP server.
 I have overridden TriggerDataAvailable in TMyClientSocket in such a
 way: 
 
 function TROAsyncSuperTcpServerSocketClient.TriggerDataAvailable(
   Error: Word): Boolean;
 begin
   inherited TriggerDataAvailable(Error);
 
   NotifyDataAvailable;
 
   // Return True to indicate that we do not want the data to be
 dropped.   Result := True;
 end;
 
 
 The NotifyDataAvailable sets a flag in an object associated to the
 client socket that will then read the available bytes. But it will not
 do so immediately, clearly after the TriggerDataAvailable has
 returned. This does not prove to be a problem because all data is
 queued up until it is actually read, up to a certain limit that I
 doubt I'll ever reach. Usually, this takes a few milliseconds but it
 happens sometimes that it takes up to 10 seconds. Ok, this is
 relatively rare for production use, but because I'm doing tests on
 the server, I'm seeing this quite often. And this is where I have a
 problem, because while the data is waiting to be read, the processor
 usage is 100% (or 1CPU on multi cpu systems). I traced it and that's
 because TCustomWSocket.ASyncReceive does a loop while the bMore
 variable is True, without ever giving the operating system to do
 anything. Hence the 100%CPU usage. To me, this could be avoided by
 adding the following two lines at the end of the loop: 
 
 if bMore then
 Sleep(1); { to avoid 100% CPU }
 
 At line 4231, right after the end of the try except block.
 To me this has little to no effect as the sleep is only done when
 bMore is True.
 What do you think of this proposal?
 
 Any comments are welcome.
 Regards
 Olivier Sannier
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Newbie question : Working with Long strings

2007-09-26 Thread Wilfried Mestdagh
Hello Clément,

 Ok. But can I place a LineLimit over 200kbytes? or better yet,
 unlimited? (those help files can get very big may be over 1Mb)

Yes. Since you connect to a known server you dont have to be afraid of a
DOS attac. So set LineLimit := $7FFF; which is the highest possible
value.

TWSocket will then buffer the data for you until the terminating
character is received and then OnDataAvailable will fire where you can
receive the whole data at once.

 Can I set the LineLimit at runtime at any time?

You can set it at any time, but I think (see above) it is not needed for
you to change it the whole time.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] 100% CPU usage if data is not processed immediately

2007-09-26 Thread Wilfried Mestdagh
Hello Olivier,

 That's what I thought, but then again, this means I need to have a
 buffer of my own, and I have no idea which size it should be. 1k, 10k, more?

Yes. TWSocket is designed to buffer incoming data for you if you use
LineMode. That is when you have your data terminated with a certain
character (or a string of characters). If you dont use LineMode then yes
you have to buffer on your own.

 I know that, but with 100%CPU usage, the handling of messages is stopped
 anyway as well as no other thread will be able to take control. Well, 
 maybe on a multi core, but not on single core machines.

Agree, but there is also a componentOptions property wsoNoReceiveLoop
which will fire OnDataAvailable again using a custom message handler. In
that case message pump stay working.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Wednesday, September 26, 2007, 15:38, Olivier Sannier wrote:

 Wilfried Mestdagh wrote:
 Hello Olivier,

   
 The NotifyDataAvailable sets a flag in an object associated to the
 client socket that will then read the available bytes. But it will not
 do so immediately
 

 That's the problem. You have to read all available data In the
 OnDataAvailable event. If you do not then OnDataAvailable will fire
 again in a loop where you must receive the rest of the data, or if you
 set wsoNoReceiveLoop in ComponentOptions property then it is fired using
 a custom message handler.
   
 That's what I thought, but then again, this means I need to have a 
 buffer of my own, and I have no idea which size it should be. 1k, 10k, more?

 So the Sleep is not needed. Also it is a bad idea because if there is
 high speed data received and more than will be received in the event it
 will delay the reception of data during a time slice (10..20 millisec
 depending on the OS) and will grow winsock internal receive buffer,
 because during the Sleep the message pump is not working.
   
 I know that, but with 100%CPU usage, the handling of messages is stopped
 anyway as well as no other thread will be able to take control. Well, 
 maybe on a multi core, but not on single core machines.

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] 100% CPU usage if data is not processed immediately

2007-09-26 Thread Arno Garrels
Olivier Sannier wrote:
 
 That's what I thought, but then again, this means I need to have a
 buffer of my own, and I have no idea which size it should be. 1k,
 10k, more?

You have to use some buffer, its size depends on your protocol.
I.e. the client could send the data length as the first byte.
Or write received data to a stream if you like. Source code of the 
high level ICS components demonstrate how to do that in detail.

--
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread David Perkins
I now suspect that the data is only being sent once.

When I receive a certain packet I pop up a messagebox asking the user
a question and I suspect it is this that is causing the packet to be
repeated since it is ultimately being displayed by a call from the
OnDataAvailable event.

How may this be prevented?  I cannot disable all messge processing in
my app whilst it's in the OnDataAvailable event.


On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
 Hello David,

 Eventually you can check with SocketSpy what exacly is sent.

 ---
 Rgds, Wilfried [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html
 http://www.mestdagh.biz

 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


[twsocket] TWSocket multi-client example

2007-09-26 Thread [EMAIL PROTECTED]
Hello:
I need to write a TService application that will
receive (potentially) multiple client TCP connections
concurrently, and perform some simple stateful
transactions with them.  For example:

1. Client-A connects to the server
2. Server responds with banner
3. Client-A sends data
4. Client-A sends end-of-data marker
5. Server responds with ERR or OK code
6. Server responds with receipt ID
7. Client-A closes connection

As you can see, its sort of like an SMPT server,
but much, much simpler.  Does TWSocket support
multiple concurrent connections?  If not, do I need
to implement this by spawning a new thread for each
client, or is there a more efficient way?  Is there
an example of such application?  From what I found in
the ICS demo applications, some use multiple forms
for each client.

Any guidance or samples will be very much
appreciated.

Thank you,
-dZ.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread Wilfried Mestdagh
Hello David,

Yes, a modal form is pumping messages. If it is really nececary to popup
a form if you have received a certain packet, you have to create / show
the form outside the OnDataAvailable event.

To do it outside just post a message to a custom message handler. Your
custom message handler will execute a while later (so outside the event)
and you can safely display the modal form. If you need example, then
just ask of course :)

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Wednesday, September 26, 2007, 16:19, David Perkins wrote:

 I now suspect that the data is only being sent once.

 When I receive a certain packet I pop up a messagebox asking the user
 a question and I suspect it is this that is causing the packet to be
 repeated since it is ultimately being displayed by a call from the
 OnDataAvailable event.

 How may this be prevented?  I cannot disable all messge processing in
 my app whilst it's in the OnDataAvailable event.


 On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
 Hello David,

 Eventually you can check with SocketSpy what exacly is sent.

 ---
 Rgds, Wilfried [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html
 http://www.mestdagh.biz

 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] TWSocket multi-client example

2007-09-26 Thread Francois Piette
 I need to write a TService application that will
 receive (potentially) multiple client TCP connections
 concurrently, and perform some simple stateful
 transactions with them.  For example:

 1. Client-A connects to the server
 2. Server responds with banner
 3. Client-A sends data
 4. Client-A sends end-of-data marker
 5. Server responds with ERR or OK code
 6. Server responds with receipt ID
 7. Client-A closes connection

 As you can see, its sort of like an SMPT server,
 but much, much simpler.  Does TWSocket support
 multiple concurrent connections?

Yes, TWSocketServer support an unlimited concurrent connections (well they
are limited by hardware and OS resources).

 If not, do I need
 to implement this by spawning a new thread for each
 client, or is there a more efficient way?

You don't need multithreading, but you can use it if processing require
lengthy operation, or if you want to take advantage of multi-core CPU. I
suggest you clearly separate communication (TWSocketServer) and processing,
and use a single thread for communication and one thread per client for
processing.

There is also a multithreaded TWSocketServer available. It was designed by
Arno.

 Is there an example of such application?

Yes, there are several multiclient and multithread samples. The more recent,
the best they are. Look at both V5 and V6 since all V5 sample have not yet
been converted to V6).


Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread David Perkins
Thanks Wilfried/Francois

At the moment this is just for a simple test app that talks to a
third-party server.  My comms class allows the GUI (or any class for
that matter) to register an event to be called when a certain data
packet is received via the socket.  It just so happens in this case
that I am popping up a messagebox.  It seems to me that I either need
to postmessage to an intermediate layer which can then call the
registered events letting them know that something of interest has
happened, or, pop them into a queue and have something else process
them outside of the OnDataAvailable event.

By custom message handler, do you mean use a message map and define a
new message type something like WM_USER+100?

Does this happen only if messages are pumped whilst in the
OnDataAvailable event?  Would another thread calling processmessages
give the same problems?

Thanks.



On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
 Hello David,

 Yes, a modal form is pumping messages. If it is really nececary to popup
 a form if you have received a certain packet, you have to create / show
 the form outside the OnDataAvailable event.

 To do it outside just post a message to a custom message handler. Your
 custom message handler will execute a while later (so outside the event)
 and you can safely display the modal form. If you need example, then
 just ask of course :)

 ---
 Rgds, Wilfried [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html
 http://www.mestdagh.biz

 Wednesday, September 26, 2007, 16:19, David Perkins wrote:

  I now suspect that the data is only being sent once.

  When I receive a certain packet I pop up a messagebox asking the user
  a question and I suspect it is this that is causing the packet to be
  repeated since it is ultimately being displayed by a call from the
  OnDataAvailable event.

  How may this be prevented?  I cannot disable all messge processing in
  my app whilst it's in the OnDataAvailable event.


  On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
  Hello David,
 
  Eventually you can check with SocketSpy what exacly is sent.
 
  ---
  Rgds, Wilfried [TeamICS]
  http://www.overbyte.be/eng/overbyte/teamics.html
  http://www.mestdagh.biz
 
  --
  To unsubscribe or change your settings for TWSocket mailing list
  please goto http://www.elists.org/mailman/listinfo/twsocket
  Visit our website at http://www.overbyte.be
 

 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] newb using TWSocket for the first time

2007-09-26 Thread Arno Garrels
David Perkins wrote:

 By custom message handler, do you mean use a message map and define a
 new message type something like WM_USER+100?

Yes, you can also post the custom message to the hidden window that all
ICS components own and override component's  WndProc() to handle the new
message, note that in ICS-V6 additional messages have to registered and 
unregistered by overriding AllocateMsgHandlers() and FreeMsgHandlers().

 
 Does this happen only if messages are pumped whilst in the
 OnDataAvailable event?

Reentrance-problems may occur in any other event as well when
messages are pumped in the event handler.  

 Would another thread calling processmessages
 give the same problems?

No, ProcessMessages retrieves messages from the thread message queue
and dispatch them to the default window procedure. 

--
Arno Garrels

 
 Thanks.
 
 
 
 On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
 Hello David,
 
 Yes, a modal form is pumping messages. If it is really nececary to
 popup a form if you have received a certain packet, you have to
 create / show the form outside the OnDataAvailable event.
 
 To do it outside just post a message to a custom message handler.
 Your custom message handler will execute a while later (so outside
 the event) and you can safely display the modal form. If you need
 example, then just ask of course :)
 
 ---
 Rgds, Wilfried [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html
 http://www.mestdagh.biz
 
 Wednesday, September 26, 2007, 16:19, David Perkins wrote:
 
 I now suspect that the data is only being sent once.
 
 When I receive a certain packet I pop up a messagebox asking the
 user a question and I suspect it is this that is causing the packet
 to be repeated since it is ultimately being displayed by a call
 from the OnDataAvailable event.
 
 How may this be prevented?  I cannot disable all messge processing
 in my app whilst it's in the OnDataAvailable event.
 
 
 On 26/09/2007, Wilfried Mestdagh [EMAIL PROTECTED] wrote:
 Hello David,
 
 Eventually you can check with SocketSpy what exacly is sent.
 
 ---
 Rgds, Wilfried [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html
 http://www.mestdagh.biz
 
 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be
 
 
 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://www.elists.org/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


[twsocket] Wiki

2007-09-26 Thread Markus Humm
Hello,

maybe some of the people around here have forgotten that a Wiki for ICS 
exists http://wiki.overbyte.be/wiki/index.php/Main_Page.

I think it always seeks for more contributors, so just get yourself a 
login and start to add or revise content...

Greetings

Markus
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Wiki

2007-09-26 Thread Fredrik Larsson
Hi,

I agree! I see it as paying a little for the components by documenting
when I am doing some development with ICS-components. It's so easy to add a
couple of lines of code or some notes that are missing.

Regards, Fredrik. 

-Ursprungligt meddelande-
Från: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] För
Markus Humm
Skickat: den 26 september 2007 19:40
Till: ICS support mailing
Ämne: [twsocket] Wiki

Hello,

maybe some of the people around here have forgotten that a Wiki for ICS
exists http://wiki.overbyte.be/wiki/index.php/Main_Page.

I think it always seeks for more contributors, so just get yourself a login
and start to add or revise content...

Greetings

Markus
--
To unsubscribe or change your settings for TWSocket mailing list please goto
http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Wiki

2007-09-26 Thread Francois PIETTE
maybe some of the people around here have forgotten that a Wiki
for ICS exists http://wiki.overbyte.be/wiki/index.php/Main_Page.

 I agree! I see it as paying a little for the components by documenting
when I am doing some development with ICS-components. It's so easy to
add a couple of lines of code or some notes that are missing.

Thank you very much for your help.

I think it always seeks for more contributors, so just get
yourself a login and start to add or revise content...

Right ! Anyone is welcome to contribute. Send me a little email and I'll 
grant write permission.

--
[EMAIL PROTECTED]
The author of the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)
http://www.overbyte.be


- Original Message - 
From: Fredrik Larsson [EMAIL PROTECTED]
To: 'ICS support mailing' twsocket@elists.org
Sent: Wednesday, September 26, 2007 7:53 PM
Subject: Re: [twsocket] Wiki


Hi,

I agree! I see it as paying a little for the components by documenting
when I am doing some development with ICS-components. It's so easy to add a
couple of lines of code or some notes that are missing.

Regards, Fredrik.

-Ursprungligt meddelande-
Från: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] För
Markus Humm
Skickat: den 26 september 2007 19:40
Till: ICS support mailing
Ämne: [twsocket] Wiki

Hello,

maybe some of the people around here have forgotten that a Wiki for ICS
exists http://wiki.overbyte.be/wiki/index.php/Main_Page.

I think it always seeks for more contributors, so just get yourself a login
and start to add or revise content...

Greetings

Markus
--
To unsubscribe or change your settings for TWSocket mailing list please goto
http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be