Re: [twsocket] How to use THttpCli with threads?
Hi all, I carefully reread a FAQ and see other scenario. Divide process into two pieces, download information from WEB site into main thread (ClientConnection) and run thread after data received only for database work. My application is NNTP server with downloading information from one site, put it into database and news client get this information from database. Client ask NNTP server for information, standard protocol. Server get request and ask information from database, then immediatelly reply to clent. After it, server dynamically create some HttpCli and start downloading in asynchronous mode. When In OnRequestDone server start a one or more individual threads only for heavy load database work. Thread do not cooperate with main thread, except OnTerminate Event. During this operation client can ask other piece of information and this operation can start simultaneosy with paralel downloading a data and operating with database. It is a right way? May be is other decision? And now I have some questions: 1. What I set to property Multitreaded? I don't understand it. 2. Where and when I can destroy HttpCli a. In Event Handler OnRequestDone event, I think it's bad idea because it's a Event handler of HttpCli. b. I can send a user message itself, but how I can decide witch HttpCli I must destroy HttpCli. c. Destroy HttpCli on OnTerminate a thread. d. Destroy HttpCli on each Client request checking witch HttpCli is ready for destroy 3. In all examples I see that I must access HttpCli data with Memory Stream (ms.LoadFromStream(StringList) - is another method to access received data withou a stream? Directly. Like HttpCli.Get, HttpCli.Body. I need your opinion about this scheme, how it right, another decision with simultaneously multi downloading from site and operate with received data with threads. With best regards, Anatoly Podgoretsky - Original Message - From: "Anatoly Podgoretsky" <[EMAIL PROTECTED]> > I want use THttpCli within TTread, but when I close application it eception > with AV at address 0 > Code follow > > constructor TBaseThread.Create; > begin > inherited Create(False); > FreeOnTerminate := True; > HttpClient := THttpCli.Create(nil); > { > HttpClient.Agent := 'Anatoly Podgoretsky NNTP Server'; > HttpClient.MultiThreaded := True; > } > end; > //** > // разрушение базового потока > //** > destructor TBaseThread.Destroy; > begin > HttpClient.Free; > inherited; > end; > > What I'm doing wrong? > Thread do nothing with main thread, this code only for testing. Real will > written in future > > With best regards, > Anatoly Podgoretsky -- 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 server client list Error
Hello Wilfried Today i made some test and the results are not good for me. I colud no t find the error that triggger the exceptior but i find that for each exception i have an 'empty' connection (no ip no port). I will make a little explanacion of my code. My service is a tcp server very similar to the example that comes with ICS componets. My code look like this WSocketServerExClientConnect() OnDataAvailable := ClientDataAvailable; OnBgException := ClientBgException; ConnectTime := Time writeinTxtFile( '--Conexiones Activas : ' + IntToStr( WSocketServerEx.ClientCount ), true ); for i := 0 to WSocketServerEx.ClientCount - 1 do begin writeinTxtFile( Format( '--Activa[%d] IP [%s] PORT [%s]', [ i, WSocketServerEx.client[ i ].getPeerAddr, WSocketServerEx.client[ i ].getPeerport ] ) ); end; ... end WSocketServerExClientDisconnect( ) ... for i := 0 to WSocketServerEx.ClientCount - 1 do begin WriteTxtFile( Format( '--D Activa[%d] IP [%s] PORT [%s]', [ i, WSocketServerEx.client[ i ].getPeerAddr, WSocketServerEx.client[ i ].getPeerport ] ) ); end; .. end; When i have like 150 or 200 connections in the list i have something like this in my txt file [05/10/2006 11:21:15:845] --D Activa[165] IP [] PORT [] and if i try to do .close call this call works but nothing happen, not to the list no exception, no disconnect event nothing. This behavior repeats only with heavy traffic. If i start a new valid connection after i while this connection is added to the end and works fine if no heavy traffic start again but i can free the used positions with empty connections (no ip no port). Thank you Miguel Angel Cañas C. From: Wilfried Mestdagh <[EMAIL PROTECTED]> Reply-To: ICS support mailing To: twsocket@elists.org Subject: Re: [twsocket] TWsocket server client list Error Date: Thu, 5 Oct 2006 15:59:48 +0200 Hello Miguel, > However I want to ask something to, Is there a theory for the connections > without IP and PORT that shows the TWsocketServer.client[i]? No I have no theory at the momen. With empty IP and Port, which properties do you exacly mean ? > in case that some timeotu expired, the code looks like this: Code looks OK to me. --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Thursday, October 5, 2006, 15:37, Miguel Cañas wrote: > Thank you for the answer Wilfried > Im following your suggestios and I will test the Wsockets events today with > try .. except blocks to try to find the error. > However I want to ask something to, Is there a theory for the connections > without IP and PORT that shows the TWsocketServer.client[i]? > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] > because I have a procedure that check for connections to make a close socket > in case that some timeotu expired, the code looks like this: > //check for a valid client > if WSocketServerEx.IsClient( WSocketServerEx.Client[ i ] ) then > begin > //Close socket. Nothing send. > TTcpSrvClient( WSocketServerEx.Client[ i ] ).Close; >end; > I can see thar in the case of the no IP no port connections i can do a > .Close call > Thank you > Miguel Angel Cañas C. >>From: Wilfried Mestdagh <[EMAIL PROTECTED]> >>Reply-To: ICS support mailing >>To: ICS support mailing >>Subject: Re: [twsocket] TWsocket server client list Error >>Date: Thu, 5 Oct 2006 12:42:03 +0200 >> >>Hello Miguel, >> >>BGException is background exception. It comes from the message pump. >>This means it can come also from your code in one of the TWSocket >>events. To test put them all in a exception block until you found the >>error (if it is over there of course). >> >>Socket operation on a non socket means that somewhere some handle is >>overwritten. Mostly this comes because you have somewhere written >>outside a variable (so written [partly] to another). >> >>This is not nececary the same moment but has happend a little while >>before it. >> >>Also possible is that you have a pointer to a datasocket that is not >>exestant anymore. If you have an array of sockets or so, be sure to >>update it on OnClientConnect / OnClientDisconnect. Remember also that in >>OnClientDisconnect the datasocket in question is still there, it is >>called before it is destroyed (also the count argument). >> >>--- >>Rgds, Wilfried [TeamICS] >>http://www.overbyte.be/eng/overbyte/teamics.html >>http://www.mestdagh.biz >> >>Thursday, October 5, 2006, 09:06, Miguel Cañas wrote: >> >> > Hi >> >> > I am using TwSocketServer in a service application that receives >>information >> > from a POS Machine (using TCP) and I am having problems with the number >>of >> > clients that shows WSocketServerEx.ClientCount. In some cases >>clientcount >> > return more connections than the number of
Re: [twsocket] MD5 check needed ?
Hello Arno, > So I will forget that and sleep well in the future, anyway it's much > faster w/o a check, and I like it fast ;-) Yes you can sleep on both of your ears (Flemish proverb); --- 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] I'm writting a small C/S protocol
In a message, Arno Garrels wrote: > I'm writting a small C/S protocol. It includes sending/receiving > database records. Maybe you are interested by MidWare ? Did you had a look at it ? -- 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] How to use THttpCli with threads?
Hi! I want use THttpCli within TTread, but when I close application it eception with AV at address 0 Code follow constructor TBaseThread.Create; begin inherited Create(False); FreeOnTerminate := True; HttpClient := THttpCli.Create(nil); { HttpClient.Agent := 'Anatoly Podgoretsky NNTP Server'; HttpClient.MultiThreaded := True; } end; //** // разрушение базового потока //** destructor TBaseThread.Destroy; begin HttpClient.Free; inherited; end; What I'm doing wrong? Thread do nothing with main thread, this code only for testing. Real will written in future With best regards, Anatoly Podgoretsky -- 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] MD5 check needed ?
Arno Garrels schrieb: > > I wasn't sure about how Winsock/ICS handles simple data corruption. > What would happen if it happens? A ethernet 802.x packet is a struct of: preamble (8 byte) | destination (6 byte) | source (6 byte) | length (2 byte) | data (46-1500 byte) | fcs (4 byte) If fcs (frame check sequence) is wrong the packet will be resent. This is handled by a lower layer or a network device itself (I think by layer 2, the error correction of the data link layer). I think preamble and fcs are therefore not seen by protocol analyzers. For mobile devices or slow connections with medium to large data amount I would use udp with a custom struct and MD5 for every data chunk of a certain size. Benjamin -- 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] How stable is ICS V6 ?
I have also upgraded my server and client framework to use ICS 6 and it is running just excellent. I´m using ICS 6 on my camera surveillance software, so the server should be able to manage hundreds simmultaneous connections and should be able to work on extreme load scenarios. ICS 6 is totally stable and we have customers that have heavy network traffic (300 Mbps avg) and ICS is working perfectly Congratulations to the ICS team Éric - Original Message - From: "Erich Kuba" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, October 05, 2006 4:52 AM Subject: [twsocket] How stable is ICS V6 ? > Hi All, > > I've been using the ICS components for about 6 or 7 years now, and I have > to > say well done to Francois and everyone else who has contributed over the > years. I've written some reasonably large server oriented systems using > the > TWSocket component as the basis for a server framework that I've > developed. > Some of these systems handle several hundred thousand requests per day. > All > of the systems in production are compiled with ICS V5. > > I've recently upgraded my server framework to use ICS V6, and am at the > point where I have a reasonably stable build, but have noticed a few > snags, > random stuff, like server sockets stopping listening under load. Now I am > not entirely sure if these problems are in the ICS V6 components or my > server framework, as I "upgraded" the framework a bit in converting to ICS > V6. I guess the question that I'm asking is how stable is the ICS V6 > distribution. Do you feel that it's ready for production systems? > > Regards > > Erich > > > -- > 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] MD5 check needed ?
Hello Arno, > I wasn't sure about how Winsock/ICS handles simple data corruption. > What would happen if it happens? Packets are resent. The amount of packets is depending the size of the receive window. If memory serve the receive window (where TCP send ACK) can be till 8 kb. --- 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] MD5 check needed ?
Francois PIETTE wrote: >> I'm writting a small C/S protocol. It includes sending/receiving >> database records. > => No need: TCP stream already has error detection and correction I wasn't sure about how Winsock/ICS handles simple data corruption. What would happen if it happens? > To detect "man in the middle" data alteration ? No, the man in the middle could easily adjust the MD5-sum. > => Well why not if you need this kind of security and doesn't want to > use SSL Sure, SSL is a user-option. Usually there's no need to use SSL inside the LAN, but who knows? > > > -- > 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
Re: [twsocket] MD5 check needed ?
> I'm writting a small C/S protocol. It includes sending/receiving > database records. > Would you suggest to send and check a MD5 checksum? > May be it is OK to live with this overhead only upon database write > requests? Why send MD5 checksum ? To detect errors ? => No need: TCP stream already has error detection and correction To detect "man in the middle" data alteration ? => Well why not if you need this kind of security and doesn't want to use SSL -- 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
Re: [twsocket] MD5 check needed ?
Wilfried Mestdagh wrote: > Hello Arno, > >> What happens in ICS when a corrupted packet has been received? >> Is DataAvailable being triggered with an error > 0 ? > > I assume you use TCP. Yes I do. > No need for additional check. I never have seen > a corrupt packet in TCP. Even not on radio networks where there is > planty of noise. > > If I recall whell I even never have seen a Winsock error in > OnDataAvaliable. Only received count <= 0 if there is close or an > error. So I will forget that and sleep well in the future, anyway it's much faster w/o a check, and I like it fast ;-) --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > --- > 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] MD5 check needed ?
Hello Arno, > What happens in ICS when a corrupted packet has been received? > Is DataAvailable being triggered with an error > 0 ? I assume you use TCP. No need for additional check. I never have seen a corrupt packet in TCP. Even not on radio networks where there is planty of noise. If I recall whell I even never have seen a Winsock error in OnDataAvaliable. Only received count <= 0 if there is close or an error. --- 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] MD5 check needed ?
Fastream Technologies wrote: > Hello Arno, > > AFAIK TCP already does CRC per packet so MD5 may be a bit expensive > (doing additionally). What happens in ICS when a corrupted packet has been received? Is DataAvailable being triggered with an error > 0 ? > > Regards, > > SZ > > On 10/5/06, Arno Garrels <[EMAIL PROTECTED]> wrote: >> Hello, >> >> I'm writting a small C/S protocol. It includes sending/receiving >> database records. Would you suggest to send and check a MD5 checksum? >> May be it is OK to live with this overhead only upon database write >> requests? >> >> Arno Garrels >> >> >> >> -- >> 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 >> > > > -- > Fastream Technologies > Software IQ: Innovation & Quality > www.fastream.com | Email: [EMAIL PROTECTED] | Tel: +90-312-223-2830 -- 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] MD5 check needed ?
Hello Arno, AFAIK TCP already does CRC per packet so MD5 may be a bit expensive (doing additionally). Regards, SZ On 10/5/06, Arno Garrels <[EMAIL PROTECTED]> wrote: > Hello, > > I'm writting a small C/S protocol. It includes sending/receiving > database records. Would you suggest to send and check a MD5 checksum? > May be it is OK to live with this overhead only upon database write > requests? > > Arno Garrels > > > > -- > 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 > -- Fastream Technologies Software IQ: Innovation & Quality www.fastream.com | Email: [EMAIL PROTECTED] | Tel: +90-312-223-2830 -- 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] MD5 check needed ?
Hello, I'm writting a small C/S protocol. It includes sending/receiving database records. Would you suggest to send and check a MD5 checksum? May be it is OK to live with this overhead only upon database write requests? Arno Garrels -- 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] Authenticate event FTPServer
Arnold FLUTEAUX wrote: > Hi, > > > > In authenticate event of ftpserver, I do some tests and if my tests > aren't ok, I set "authenticated" (one param of event) to false. But > my clientcount is yet with this client. So I must do: > > Authenticated :=false; > > PostMessage(ftpserveur.Handle, WM_FTPSRV_CLOSE_REQUEST, > > WPARAM(client.ID),LPARAM(Client)); > > > > To get a good value of clientcount. > > Is it OK or not ? You may close the client connection if you want (may be after a couple of failed attempts only?), the component does not do it for you. It is much easier to call Client.CloseDelayed. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > > > Arnold -- 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 server client list Error
> It seems the Client[] is not up to date. Perhaps we should remove the client > from there when the disconnect signal is received? (not when the object is > destroyed?) The only reason I can think about is that there is eather an exception error in the OnClientDisconnect event, or something with an overwritten pointer. Never had that situation. Should be tested eventually. --- 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] Authenticate event FTPServer
Hi, In authenticate event of ftpserver, I do some tests and if my tests aren't ok, I set "authenticated" (one param of event) to false. But my clientcount is yet with this client. So I must do: Authenticated :=false; PostMessage(ftpserveur.Handle, WM_FTPSRV_CLOSE_REQUEST, WPARAM(client.ID),LPARAM(Client)); To get a good value of clientcount. Is it OK or not ? Arnold -- 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 server client list Error
It seems the Client[] is not up to date. Perhaps we should remove the client from there when the disconnect signal is received? (not when the object is destroyed?) Best Regards, SubZero - Original Message - From: "Wilfried Mestdagh" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, October 05, 2006 5:01 PM Subject: Re: [twsocket] TWsocket server client list Error : Hello Fastream, : : But if a client disconnect with an error in high traffic, which events : are you logging ? Seems a wierd problem to me... : : --- : 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 server client list Error
Hello Fastream, But if a client disconnect with an error in high traffic, which events are you logging ? Seems a wierd problem to me... --- 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] TWsocket server client list Error
Hello Miguel, > However I want to ask something to, Is there a theory for the connections > without IP and PORT that shows the TWsocketServer.client[i]? No I have no theory at the momen. With empty IP and Port, which properties do you exacly mean ? > in case that some timeotu expired, the code looks like this: Code looks OK to me. --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Thursday, October 5, 2006, 15:37, Miguel Cañas wrote: > Thank you for the answer Wilfried > Im following your suggestios and I will test the Wsockets events today with > try .. except blocks to try to find the error. > However I want to ask something to, Is there a theory for the connections > without IP and PORT that shows the TWsocketServer.client[i]? > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] > because I have a procedure that check for connections to make a close socket > in case that some timeotu expired, the code looks like this: > //check for a valid client > if WSocketServerEx.IsClient( WSocketServerEx.Client[ i ] ) then > begin > //Close socket. Nothing send. > TTcpSrvClient( WSocketServerEx.Client[ i ] ).Close; >end; > I can see thar in the case of the no IP no port connections i can do a > .Close call > Thank you > Miguel Angel Cañas C. >>From: Wilfried Mestdagh <[EMAIL PROTECTED]> >>Reply-To: ICS support mailing >>To: ICS support mailing >>Subject: Re: [twsocket] TWsocket server client list Error >>Date: Thu, 5 Oct 2006 12:42:03 +0200 >> >>Hello Miguel, >> >>BGException is background exception. It comes from the message pump. >>This means it can come also from your code in one of the TWSocket >>events. To test put them all in a exception block until you found the >>error (if it is over there of course). >> >>Socket operation on a non socket means that somewhere some handle is >>overwritten. Mostly this comes because you have somewhere written >>outside a variable (so written [partly] to another). >> >>This is not nececary the same moment but has happend a little while >>before it. >> >>Also possible is that you have a pointer to a datasocket that is not >>exestant anymore. If you have an array of sockets or so, be sure to >>update it on OnClientConnect / OnClientDisconnect. Remember also that in >>OnClientDisconnect the datasocket in question is still there, it is >>called before it is destroyed (also the count argument). >> >>--- >>Rgds, Wilfried [TeamICS] >>http://www.overbyte.be/eng/overbyte/teamics.html >>http://www.mestdagh.biz >> >>Thursday, October 5, 2006, 09:06, Miguel Cañas wrote: >> >> > Hi >> >> > I am using TwSocketServer in a service application that receives >>information >> > from a POS Machine (using TCP) and I am having problems with the number >>of >> > clients that shows WSocketServerEx.ClientCount. In some cases >>clientcount >> > return more connections than the number of machines that I have >>connected to >> > the service. I am saving the client list in txt file and it shows this; >> >> > [04/10/2006 17:24:09:296] --D Activa[0] IP [] PORT [] >> > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] >> > [04/10/2006 17:24:09:296] --D Activa[2] IP [] PORT [] >> > [04/10/2006 17:24:09:296] --D Activa[3] IP [10.10.10.237] PORT [2379] >> >> > What happen with the positions 0,1 and 2 that shows no port or ip?? >> >> > I have found this exception 2 segs before the addition of a new >>'emptyŽ(no >> > ip or port) connection and was capture in WSocketServerExBgException. >> >> > [04/10/2006 17:24:07:453] [ESocketException] Msg[Error 10038 in function >> > Disconnect (closesocket) >> > Socket operation on non-socket] >> >> > Is there a relationship between this exception and the addition of the >>new >> > empty connection? or I have to look for the error in another place. >> > Any help would be appreciated. >> >> > Thank you >> >> > Miguel Angel Cañas C. >> >> > _ >> > Express yourself instantly with MSN Messenger! Download today it's FREE! >> > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ >> >> >>-- >>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 > _ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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 server client list Error
Yes we have the same problem even though no exceptions are raised. This occurs with high traffic--especially sockets disconnecting with errors/abort. Regards, SZ - Original Message - From: "Miguel Cañas" <[EMAIL PROTECTED]> To: Sent: Thursday, October 05, 2006 4:37 PM Subject: Re: [twsocket] TWsocket server client list Error : Thank you for the answer Wilfried : : Im following your suggestios and I will test the Wsockets events today with : try .. except blocks to try to find the error. : : However I want to ask something to, Is there a theory for the connections : without IP and PORT that shows the TWsocketServer.client[i]? : : [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] : : because I have a procedure that check for connections to make a close socket : in case that some timeotu expired, the code looks like this: : : //check for a valid client :if WSocketServerEx.IsClient( WSocketServerEx.Client[ i ] ) then :begin : //Close socket. Nothing send. : TTcpSrvClient( WSocketServerEx.Client[ i ] ).Close; : end; : I can see thar in the case of the no IP no port connections i can do a : .Close call : : Thank you : : Miguel Angel Cañas C. : : : >From: Wilfried Mestdagh <[EMAIL PROTECTED]> : >Reply-To: ICS support mailing : >To: ICS support mailing : >Subject: Re: [twsocket] TWsocket server client list Error : >Date: Thu, 5 Oct 2006 12:42:03 +0200 : > : >Hello Miguel, : > : >BGException is background exception. It comes from the message pump. : >This means it can come also from your code in one of the TWSocket : >events. To test put them all in a exception block until you found the : >error (if it is over there of course). : > : >Socket operation on a non socket means that somewhere some handle is : >overwritten. Mostly this comes because you have somewhere written : >outside a variable (so written [partly] to another). : > : >This is not nececary the same moment but has happend a little while : >before it. : > : >Also possible is that you have a pointer to a datasocket that is not : >exestant anymore. If you have an array of sockets or so, be sure to : >update it on OnClientConnect / OnClientDisconnect. Remember also that in : >OnClientDisconnect the datasocket in question is still there, it is : >called before it is destroyed (also the count argument). : > : >--- : >Rgds, Wilfried [TeamICS] : >http://www.overbyte.be/eng/overbyte/teamics.html : >http://www.mestdagh.biz : > : >Thursday, October 5, 2006, 09:06, Miguel Cañas wrote: : > : > > Hi : > : > > I am using TwSocketServer in a service application that receives : >information : > > from a POS Machine (using TCP) and I am having problems with the number : >of : > > clients that shows WSocketServerEx.ClientCount. In some cases : >clientcount : > > return more connections than the number of machines that I have : >connected to : > > the service. I am saving the client list in txt file and it shows this; : > : > > [04/10/2006 17:24:09:296] --D Activa[0] IP [] PORT [] : > > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] : > > [04/10/2006 17:24:09:296] --D Activa[2] IP [] PORT [] : > > [04/10/2006 17:24:09:296] --D Activa[3] IP [10.10.10.237] PORT [2379] : > : > > What happen with the positions 0,1 and 2 that shows no port or ip?? : > : > > I have found this exception 2 segs before the addition of a new : >'empty´(no : > > ip or port) connection and was capture in WSocketServerExBgException. : > : > > [04/10/2006 17:24:07:453] [ESocketException] Msg[Error 10038 in function : > > Disconnect (closesocket) : > > Socket operation on non-socket] : > : > > Is there a relationship between this exception and the addition of the : >new : > > empty connection? or I have to look for the error in another place. : > > Any help would be appreciated. : > : > > Thank you : > : > > Miguel Angel Cañas C. : > : > > _ : > > Express yourself instantly with MSN Messenger! Download today it's FREE! : > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ : > : > : >-- : >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 : : _ : Express yourself instantly with MSN Messenger! Download today it's FREE! : http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ : : : -- : 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 server client list Error
Thank you for the answer Wilfried Im following your suggestios and I will test the Wsockets events today with try .. except blocks to try to find the error. However I want to ask something to, Is there a theory for the connections without IP and PORT that shows the TWsocketServer.client[i]? [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] because I have a procedure that check for connections to make a close socket in case that some timeotu expired, the code looks like this: //check for a valid client if WSocketServerEx.IsClient( WSocketServerEx.Client[ i ] ) then begin //Close socket. Nothing send. TTcpSrvClient( WSocketServerEx.Client[ i ] ).Close; end; I can see thar in the case of the no IP no port connections i can do a .Close call Thank you Miguel Angel Cañas C. From: Wilfried Mestdagh <[EMAIL PROTECTED]> Reply-To: ICS support mailing To: ICS support mailing Subject: Re: [twsocket] TWsocket server client list Error Date: Thu, 5 Oct 2006 12:42:03 +0200 Hello Miguel, BGException is background exception. It comes from the message pump. This means it can come also from your code in one of the TWSocket events. To test put them all in a exception block until you found the error (if it is over there of course). Socket operation on a non socket means that somewhere some handle is overwritten. Mostly this comes because you have somewhere written outside a variable (so written [partly] to another). This is not nececary the same moment but has happend a little while before it. Also possible is that you have a pointer to a datasocket that is not exestant anymore. If you have an array of sockets or so, be sure to update it on OnClientConnect / OnClientDisconnect. Remember also that in OnClientDisconnect the datasocket in question is still there, it is called before it is destroyed (also the count argument). --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Thursday, October 5, 2006, 09:06, Miguel Cañas wrote: > Hi > I am using TwSocketServer in a service application that receives information > from a POS Machine (using TCP) and I am having problems with the number of > clients that shows WSocketServerEx.ClientCount. In some cases clientcount > return more connections than the number of machines that I have connected to > the service. I am saving the client list in txt file and it shows this; > [04/10/2006 17:24:09:296] --D Activa[0] IP [] PORT [] > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] > [04/10/2006 17:24:09:296] --D Activa[2] IP [] PORT [] > [04/10/2006 17:24:09:296] --D Activa[3] IP [10.10.10.237] PORT [2379] > What happen with the positions 0,1 and 2 that shows no port or ip?? > I have found this exception 2 segs before the addition of a new 'empty´(no > ip or port) connection and was capture in WSocketServerExBgException. > [04/10/2006 17:24:07:453] [ESocketException] Msg[Error 10038 in function > Disconnect (closesocket) > Socket operation on non-socket] > Is there a relationship between this exception and the addition of the new > empty connection? or I have to look for the error in another place. > Any help would be appreciated. > Thank you > Miguel Angel Cañas C. > _ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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 _ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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] Writing a transparent HTTP proxy
Ok. I see the point now. Thanks, SZ - Original Message - From: "Kris Leech" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, October 05, 2006 11:56 AM Subject: Re: [twsocket] Writing a transparent HTTP proxy : Fastream Technologies wrote: : : >Not exactly. No real answer for my actual question... : > : > : I dont think you can support virtual hosts for http 1.0, is this what : you are saying. You could support http 1.0 if you had a public IP per : host if you really needed to. : : > : >On 10/4/06, Kris Leech <[EMAIL PROTECTED]> wrote: : > : > : >>Hi, did you find the answer to this? : >> : >>Fastream Technologies wrote: : >> : >> : >> : >>>Hello, : >>> : >>>I have a few issues left for understanding how a transparent proxy works. : >>> : >>> : >>I : >> : >> : >>>talked with a friend in an ISP how they configure them and he said they : >>> : >>> : >>use : >> : >> : >>>Layer4 switches to redirect all HTTP port 80 traffic to the proxy even : >>>though the end user does not configures his browser settings for the : >>> : >>> : >>proxy. : >> : >> : >>>Now with our reverse proxy experience, all is well except one thing: How : >>>does the proxy know which IP to connect to when the end user uses : >>> : >>> : >>HTTP/1.0 : >> : >> : >>>with no "host" header? Is transparent proxies HTTP/1.1 only? How does the : >>>Layer4 switch understands what protocol does the end user uses if it can : >>>read just up to layer 4 (TCP)? : >>> : >>>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 -- 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 server client list Error
Hello Miguel, BGException is background exception. It comes from the message pump. This means it can come also from your code in one of the TWSocket events. To test put them all in a exception block until you found the error (if it is over there of course). Socket operation on a non socket means that somewhere some handle is overwritten. Mostly this comes because you have somewhere written outside a variable (so written [partly] to another). This is not nececary the same moment but has happend a little while before it. Also possible is that you have a pointer to a datasocket that is not exestant anymore. If you have an array of sockets or so, be sure to update it on OnClientConnect / OnClientDisconnect. Remember also that in OnClientDisconnect the datasocket in question is still there, it is called before it is destroyed (also the count argument). --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Thursday, October 5, 2006, 09:06, Miguel Cañas wrote: > Hi > I am using TwSocketServer in a service application that receives information > from a POS Machine (using TCP) and I am having problems with the number of > clients that shows WSocketServerEx.ClientCount. In some cases clientcount > return more connections than the number of machines that I have connected to > the service. I am saving the client list in txt file and it shows this; > [04/10/2006 17:24:09:296] --D Activa[0] IP [] PORT [] > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] > [04/10/2006 17:24:09:296] --D Activa[2] IP [] PORT [] > [04/10/2006 17:24:09:296] --D Activa[3] IP [10.10.10.237] PORT [2379] > What happen with the positions 0,1 and 2 that shows no port or ip?? > I have found this exception 2 segs before the addition of a new 'emptyŽ(no > ip or port) connection and was capture in WSocketServerExBgException. > [04/10/2006 17:24:07:453] [ESocketException] Msg[Error 10038 in function > Disconnect (closesocket) > Socket operation on non-socket] > Is there a relationship between this exception and the addition of the new > empty connection? or I have to look for the error in another place. > Any help would be appreciated. > Thank you > Miguel Angel Cañas C. > _ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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] Writing a transparent HTTP proxy
Fastream Technologies wrote: >Not exactly. No real answer for my actual question... > > I dont think you can support virtual hosts for http 1.0, is this what you are saying. You could support http 1.0 if you had a public IP per host if you really needed to. > >On 10/4/06, Kris Leech <[EMAIL PROTECTED]> wrote: > > >>Hi, did you find the answer to this? >> >>Fastream Technologies wrote: >> >> >> >>>Hello, >>> >>>I have a few issues left for understanding how a transparent proxy works. >>> >>> >>I >> >> >>>talked with a friend in an ISP how they configure them and he said they >>> >>> >>use >> >> >>>Layer4 switches to redirect all HTTP port 80 traffic to the proxy even >>>though the end user does not configures his browser settings for the >>> >>> >>proxy. >> >> >>>Now with our reverse proxy experience, all is well except one thing: How >>>does the proxy know which IP to connect to when the end user uses >>> >>> >>HTTP/1.0 >> >> >>>with no "host" header? Is transparent proxies HTTP/1.1 only? How does the >>>Layer4 switch understands what protocol does the end user uses if it can >>>read just up to layer 4 (TCP)? >>> >>>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
[twsocket] I'm still disconnected
I'm still disconnected from the mailing list. I have subscribed using my private account in the hope of solving the problem. Sorry if I haven't answered your questions. -- [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] How stable is ICS V6 ?
Hello, We have a HTTPS reverse proxy written with v6 and after long days of stress testing, we found it rather stable and much more efficient than v5. Regards, SZ - Original Message - From: "Erich Kuba" <[EMAIL PROTECTED]> To: "ICS support mailing" Sent: Thursday, October 05, 2006 10:52 AM Subject: [twsocket] How stable is ICS V6 ? : Hi All, : : I've been using the ICS components for about 6 or 7 years now, and I have to : say well done to Francois and everyone else who has contributed over the : years. I've written some reasonably large server oriented systems using the : TWSocket component as the basis for a server framework that I've developed. : Some of these systems handle several hundred thousand requests per day. All : of the systems in production are compiled with ICS V5. : : I've recently upgraded my server framework to use ICS V6, and am at the : point where I have a reasonably stable build, but have noticed a few snags, : random stuff, like server sockets stopping listening under load. Now I am : not entirely sure if these problems are in the ICS V6 components or my : server framework, as I "upgraded" the framework a bit in converting to ICS : V6. I guess the question that I'm asking is how stable is the ICS V6 : distribution. Do you feel that it's ready for production systems? : : Regards : : Erich : : : -- : 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] How stable is ICS V6 ?
Hi All, I've been using the ICS components for about 6 or 7 years now, and I have to say well done to Francois and everyone else who has contributed over the years. I've written some reasonably large server oriented systems using the TWSocket component as the basis for a server framework that I've developed. Some of these systems handle several hundred thousand requests per day. All of the systems in production are compiled with ICS V5. I've recently upgraded my server framework to use ICS V6, and am at the point where I have a reasonably stable build, but have noticed a few snags, random stuff, like server sockets stopping listening under load. Now I am not entirely sure if these problems are in the ICS V6 components or my server framework, as I "upgraded" the framework a bit in converting to ICS V6. I guess the question that I'm asking is how stable is the ICS V6 distribution. Do you feel that it's ready for production systems? Regards Erich -- 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] FtpCli upload problem
Thanks for the tip but could not get the FtpCommon.pas, it is not on the Davie's web site (deadlink). If you have, could you post it to me thanks.. Fastream Technologies <[EMAIL PROTECTED]> wrote: Then I think you have no other choice then issuing a LIST and parsing the folder listing with Davie's code. Regards, SZ - Original Message - From: "New Era" To: "ICS support mailing" Sent: Tuesday, October 03, 2006 10:13 AM Subject: Re: [twsocket] FtpCli upload problem : Hi, if server does not support SIZE, MD5 then what is the best way to make that check? : : Arno Garrels wrote: New Era wrote: : > Thanks for the reply and advice, : > I looked at the component again it contains a property if I am not : > wrong isSent or named with a similiar name. Looked the property in : > the source code, it also checks the status against 226 and with : > other some constants. Anyway I will do the check you suggested : : In the FTP size of an upload is unknown to the server. The server : assumes success when the client closes the data channel gracefully. : So a file may have been corrupted even though you got an OK response. : The client is responsible to check whether both local and remote : files are the same either by comparing their size or more reliable : by comparing their MD5 checksum (command MD5). Unfortunately MD5 is : not supported on every server. : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : > : > : > : > Dan wrote: Not sure why it happens, but to : > guard against this I would do a SIZE command on the remote file after : > uploading it, then check if it matches the local file size before : > deleting it. SIZE is supported by every FTP server I have used, : > although I'm not sure if its in the initial FTP RFC. : > : > Dan : > : > -Original Message- : > From: [EMAIL PROTECTED] [mailto:twsocket- : > [EMAIL PROTECTED] On Behalf Of New Era : > Sent: 21 September 2006 12:10 : > To: twsocket@elists.org : > Subject: [twsocket] FtpCli upload problem : > : > : > [input] [input] [input] [input] : > : > I am using the following code in the FtpRequestDone event handler; : > : > case RqType of : > ... : > : > : > ftpPutAsync: begin : > if(FtpCli.StatusCode= 226) then Delete(FileName); : > : > end; : > : > : > end; : > What I am trying to do is to upload a file to server then delete the : > local file. In fact this code is working for the many cases but there : > are a few cases where the server says that uploaded files (local file : > sizes are greater than 0 bytes) are zero bytes length and the : > localfile is deleted. What is wrong? I am using passive mode. : > : > thanks. : > : > : > - : > Try the all-new Yahoo! Mail . "The New Version is radically easier : > to use" - The Wall Street Journal : > -- : > 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 : > : > : > : > - : > All new Yahoo! Mail "The new Interface is stunning in its simplicity : > and ease of use." - PC Magazine : -- : 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 : : : : - : Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with voicemail : -- : 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 - The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. -- 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 server client list Error
Hi I am using TwSocketServer in a service application that receives information from a POS Machine (using TCP) and I am having problems with the number of clients that shows WSocketServerEx.ClientCount. In some cases clientcount return more connections than the number of machines that I have connected to the service. I am saving the client list in txt file and it shows this; [04/10/2006 17:24:09:296] --D Activa[0] IP [] PORT [] [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] [04/10/2006 17:24:09:296] --D Activa[2] IP [] PORT [] [04/10/2006 17:24:09:296] --D Activa[3] IP [10.10.10.237] PORT [2379] What happen with the positions 0,1 and 2 that shows no port or ip?? I have found this exception 2 segs before the addition of a new 'empty´(no ip or port) connection and was capture in WSocketServerExBgException. [04/10/2006 17:24:07:453] [ESocketException] Msg[Error 10038 in function Disconnect (closesocket) Socket operation on non-socket] Is there a relationship between this exception and the addition of the new empty connection? or I have to look for the error in another place. Any help would be appreciated. Thank you Miguel Angel Cañas C. _ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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