Ok, will try AMP thank you very much!
On Mon, Apr 1, 2013 at 3:49 PM, Glyph <gl...@twistedmatrix.com> wrote: > > On Mar 31, 2013, at 6:09 PM, Todong Ma <gbstac...@gmail.com> wrote: > > I wrote a simple client and server to get system information (e.g. cpu, > memory, etc.) > Client send 'cpu' to the server, then server will return cpu's information > to client. > > Now client send multiple commands to server one time, e.g. cpu, memory, > database, hard disk. But sometimes server couldn't receive some type > information (e.g. cpu, database), and the missed information type is not > fixed every time. > > So I want client to check whether ITransport.write() sends message to > server successfully. If failed, client will resend the message to server. > > > It's a good thing that write() doesn't convey information about send() > succeeding so you can't trust it :). You can't rely on send() succeeding > to convey this information: send() can succeed but all that means is that > data moved from your application into your kernel. > > What you want to do is to have an application-level acknowledgement of the > data that was sent. > > AMP will provide this for you automatically; when the Deferred returned by > callRemote fires, the other end has received and acknowledged the > information. > > -glyph > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python