Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to Implement Streamed HTTP Request



Hi Tommy - I accomplished something like what you're describing, though it wasn't trivial.

I ended up using socketpair to create a pair of sockets that I could then create a read and write stream for. Then I pass the read stream to CFNetwork as the "requestBody" ref for the API below. The socket write stream ref is used by my "send data" callback, which gets triggered whenever the "can accept bytes" message comes in to the client.

I implemented this a couple years ago in a shipping product and it has been reliable. But there were some issues raised here about the possible unreliability of socketpair based CFStreams. Maybe somebody can update us on whether there is still cause for concern.

Daniel

On Apr 17, 2006, at 6:06 PM, Tommy Tian wrote:

Hi,All

I want use CFNetwork to implement streamed http post request.For
example send 1024 bytes to HTTPS server every 1 second.

I try use
extern CFReadStreamRef
CFReadStreamCreateForStreamedHTTPRequest(
  CFAllocatorRef     alloc,
  CFHTTPMessageRef   requestHeaders,
  CFReadStreamRef    requestBody)

This function seems fit for data of requestBody is ready for send
before call this function. (like requestBody from a file, or memory),
can't be add any data to requestBody after it been called.

how can I send 100 memory bufferes to http server use one streamed
http request?of course can NOT merge 100 memory bufferes to one big
buffer and send it.

Thanks
-Tommy
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/macnetworkprog/jalkut%40red- sweater.com


This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/macnetworkprog/email@hidden

This email sent to email@hidden
References: 
 >How to Implement Streamed HTTP Request (From: "Tommy Tian" <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.