[twsocket] Delphi 2007 is out !

2007-03-18 Thread Francois PIETTE
Delphi 2007 for Win32 is out. You can get it quickly if you buy on-line.
Physical boxes will be available shortly according to CodeGear. Delphi 2007
for Win32 is already available in english, french, german and japanese.

The latest ICS  MidWare are compatibles with Delphi 2007. Actually Delphi
2007 is a non-breaking release. It means you can use BDS2006 source code,
projects, dcu and bpl ! Regarding ICS  MidWare, you simply open the BDS2006
packages, compile and install. Add VC32 directory to your library path. Then
open the BDS2006 project group and recompile all sample applications.

Regarding your own applications, if you use BDS2006, then you probably can
just recompile everything. If you use third party components, they should be
compatible, even if you don't have the source code, you can install BDS2006
bpl's into Delphi 2007. If you use older Delphi versions, you'll be able to
recompile probably with no changes except if you have conditional
compilation checking for version number. D2007 defines VER180 (same as
BDS2006) and VER185 (only D2007.Win32 define it). Just search for VERxyz in
the source code and change it. See IcsDefs.inc to find out the relation
between VERxyz and Delphi versions. I strongly suggest you use IcsDefs into
your own applications and use conditional compilation against DELPHIx_UP or
COMPILEx_UP to trigger code generation. If you upgrade from pre-D7 version,
and use variant data type, you'll have to add variants to your uses.


I had the chance to work for CodeGear and as such I worked with Delphi 2007
for months. I can say that I'm very impressed by the product. CodeGear has
done a huge work in making a fast an reliable product. There is insteresting
enhancement in both the IDE, compiler, debugger and the VCL/RTL. I recommand
upgrading to Delphi 2007 and also to buy support and maintenance to get
the version updates (Currently Delphi 2007 is for win32 only. If you buy
support and maintenance, you'll receive the other personnalities later
(.NET, C++ and C#)).

Have fun !

--
Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
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] Architectural question

2007-03-18 Thread Markus Humm
Hello,

I've to rebuild some piece of my application because it fails after 
relatively short amount of time and I don't find the fault.

It uses TWSockets on two occasions: one for up to ten parallel 
communications via UDP and one time for sending the results of these 
communications and for receiving new requests via TCP to another PC.

Now it's based on threads, each of these parallel lines has a thread 
which also does the timeout checking. I want to change that to simple 
objects which use a timer each for that to simplify it. Another thread 
currently watches the global receive buffer where each of these lines 
stores its received data in (after validating it). If received data is 
present it gets sent via TCP.

The ned idea is that these timer based communication lines still write 
to a shared global buffer and there is still a thread reading it out 
which gets notified via PostMessage that there is something to do, to 
keep the thread of CPU-hogging. The problem now is, how to effectively 
lock the list so that always only one can access it while the others 
have to wait. Since these timer based objects do live in the main thread 
of the application and the other side reading the buffer is within a 
thread I assume that a critical section would do? Because after reading 
he has to delete what he read. The list is a TStringList by the way.
Is this idea okay, or will I run into trouble with this? If yes, where 
and how to avoid it?

The only downside I can currently find is, that without threads it won't 
scale very well on multicore CPUs. But right now this isn't a big 
problem I think.

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] Pause and Resume

2007-03-18 Thread Wilfried Mestdagh
Hello Jack,

This seems OK. Indeed if you set wsoNoreceivedLoop in the
OnDataAvailable handler it will hot have an effect when there is still
data to receive and with this fix it is.

Another possibility is that you set wsoNoreceivedLoop beforehand at
creation time of TWSocket, then you dont need the change.

---
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] Architectural question

2007-03-18 Thread Wilfried Mestdagh
Hello Markus,

TCriticalSection will protect your StringList among multiple threads, so
that's ok.

---
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] TIcsWndControl Error #14

2007-03-18 Thread Fastream Technologies
Hello,

What does this error mean? I get this when I open more than 8,000 sockets on 
my Core 2 Duo with 2GB RAM. Could it still be a RAM problem?

Best Regards,

SZ 

-- 
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] TIcsWndControl Error #14

2007-03-18 Thread Wilfried Mestdagh
Hello Fastream,

If this is a windows error then it is ERROR_OUTOFMEMORY.

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

Sunday, March 18, 2007, 14:59, Fastream Technologies wrote:

 Hello,

 What does this error mean? I get this when I open more than 8,000 sockets on
 my Core 2 Duo with 2GB RAM. Could it still be a RAM problem?

 Best Regards,

 SZ 


-- 
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] TIcsWndControl Error #14

2007-03-18 Thread Fastream Technologies
Alright, no need to worry then, since users are responsible for supplying 
enough memory for 1 clients. Plus I had the client stress tester on the 
same machine as well. That should have been why it went out of memory...

BTW, nobody has commented on the code I sent? It is freeware and open 
source. Just two days of work... I have been able to get it to launch 20,000 
keep-alive (HTTP) sockets! Also, Francois, I forgot to put my name in the 
code, could you add similar to other units of ICS? I think the code quality 
will prove to be a good example for newbies (but in C++ ;) ).

Best Regards,

SZ

- Original Message - 
From: Wilfried Mestdagh [EMAIL PROTECTED]
To: ICS support mailing twsocket@elists.org
Sent: Sunday, March 18, 2007 4:20 PM
Subject: Re: [twsocket] TIcsWndControl Error #14


 Hello Fastream,

 If this is a windows error then it is ERROR_OUTOFMEMORY.

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

 Sunday, March 18, 2007, 14:59, Fastream Technologies wrote:

 Hello,

 What does this error mean? I get this when I open more than 8,000 sockets 
 on
 my Core 2 Duo with 2GB RAM. Could it still be a RAM problem?

 Best Regards,

 SZ


 -- 
 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] Pause and Resume

2007-03-18 Thread Jack
Hello Wilfried and Francois,

Would you consider patching my changes into ICS?

-- 
Best regards,
Jack

Sunday, March 18, 2007, 5:17:12 AM, you wrote:

 Hello Jack,

 This seems OK. Indeed if you set wsoNoreceivedLoop in the
 OnDataAvailable handler it will hot have an effect when there is still
 data to receive and with this fix it is.

 Another possibility is that you set wsoNoreceivedLoop beforehand at
 creation time of TWSocket, then you dont need the change.

-- 
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