Re: BSD TCP Programming on iPad
Re: BSD TCP Programming on iPad
- Subject: Re: BSD TCP Programming on iPad
- From: "Zajkowski, James" <email@hidden>
- Date: Wed, 27 Apr 2011 13:08:45 -0400
- Acceptlanguage: en-US
- Thread-topic: BSD TCP Programming on iPad
TCP is just a magic abstraction that lets you put a stream of data in on
one side of the internet and have it appear out the other side, in order
and without missing pieces, with some network caveats. It provides
nothing else, it's just a raw socket.
It's up to you to design the protocol, including discovery and the actual
data exchange, as well as any authentication and authorization you care to
implement. If you choose to ship binary data around you will have to deal
with endian differences between architectures.
There's nothing particularly strange or unusual about the iPad's sockets
implementation; the classic text on BSD Sockets is "Unix Network
Programming, Volume 1: The Sockets Networking API" by W. Richard Stevens,
et. al.; any edition will do.
For many applications that use simple message-passing type network
interaction, HTTP is actually pretty good and many solid libraries exist
for working with it, which are some of the main reasons it's used
everywhere; I've jokingly referred to it as HTTP/IP. There are some
applications that do require custom protocols, but I urge you to tread
carefully before committing to that.
--Jim
On 4/27/11 12:25 PM, "Bing Li" <email@hidden> wrote:
>Dear Conrad,
>
>I appreciate so much for your reply!
>
>I have a Java based server. So iPad needs to communicate with it.
>Moreover,
>I hope a P2P model can be established between the server and multiple
>iPads.
>Therefore, I hope I could use TCP to design the protocol directly instead
>of
>using HTTP.
>
>However, I have NOT got sufficient materials to program TCP on iPad.
>
>Thanks so much!
>Bing
>
>On Thu, Apr 28, 2011 at 12:01 AM, Conrad Shultz <
>email@hidden> wrote:
>
>> Why would the platform, architecture, or server language impact the
>> implementation of a network client application? That sort of defeats the
>> whole point of TCP/IP and the rest of the protocol stack...
>>
>> Can you elaborate more on what you are trying to do? It sounds to me
>>like
>> you are putting the cart before the horse.
>>
>> --
>> Conrad Shultz
>> Synthetiq Solutions
>> www.synthetiqsolutions.com
>> twitter.com/TechConrad
>>
>>
>> On Apr 27, 2011, at 2:09, Bing Li <email@hidden> wrote:
>>
>> > Dear Keith and all,
>> >
>> > I hope my iPad could communicate with my servers. The servers run
>>Java.
>> > However, I don't want to use Web services. So I hope I could use BSD
>> sockets
>> > to talk with remote Java servers. I think XML should be utilized too
>>for
>> > this case.
>> >
>> > I am not sure if it is possible to do that.
>> >
>> > Best regards,
>> > Bing
>> >
>> > On Mon, Apr 25, 2011 at 11:42 PM, Keith Duncan <email@hidden>
>> wrote:
>> >
>> >>
>> >> On 25 Apr 2011, at 16:00, Bing Li wrote:
>> >>
>> >>> Dear Marcus,
>> >>>
>> >>> Could you tell me which features are not available when using BSD
>> sockets
>> >> on
>> >>> iOS? Although I would like to use CFNetwork APIs, I cannot find
>>enough
>> >>> materials to learn how to use them. The guide from apple.com is too
>> >> limited
>> >>> to be useful. Could you provide me with other resources about
>>CFNetwork
>> >>> APIs.
>> >>
>> >> If I recall correctly, using the socket() API directly won't bring
>>the
>> WWAN
>> >> radio online, you need to use CoreFoundation API or higher for this
>>to
>> >> happen.
>> >>
>> >> The CFNetwork adds very little on top of BSD sockets, the biggest
>> feature
>> >> being CFRunLoop integration, where the system will create and manage
>>a
>> >> select() (or equivalent) loop for you.
>> >>
>> >> Take a look at CFSocket.h to get started.
>> >>
>> >> Keith
>> >>
>> >>
>> > _______________________________________________
>> >
>> > Cocoa-dev mailing list (email@hidden)
>> >
>> > Please do not post admin requests or moderator comments to the list.
>> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>> >
>> > Help/Unsubscribe/Update your Subscription:
>> >
>>
>>ons.com
>> >
>> > This email sent to email@hidden
>>
>_______________________________________________
>
>Cocoa-dev mailing list (email@hidden)
>
>Please do not post admin requests or moderator comments to the list.
>Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
>Help/Unsubscribe/Update your Subscription:
>
>This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden