views:

126

answers:

2

How do apps like Apple's "Remote" app control mac applications and send data?

is this via php with exec() commands or some other method? and how would I do it in c?

Also, how fast is this rate of transfer (can I use it to send real-time data like streaming video or audio?)

thanks to anyone who cares to enlighten me on this issue :-)

A: 

many of these remote applications work by installing client software on the computer and establishing a network connection. In the case of Apple's remote software, the client software is built into the networking capabilities of iTunes. You must authenticate using your iTunes sign in and be on local wifi.

The third party app "intelliremote" works very similarly only has it's own client software to install and can work across a WAN with proper port forwarding enabled on your network.

I haven't encountered any realtime streaming options as most of these utilities are designed to pass control messages and meta-info on media files.

hqrsie
+2  A: 

Apps generally communicate using a TCP/IP based protocol and the wireless LAN connection (the iPhone also has Bluetooth). In the case of the Remote app the communication is via with the Digital Audio Control Protocol. iTunes implements DACP so the Remote app can control it. Other common protocols are HTTP and FTP. There are classes in the iPhone SDK to connect to noth HTTP and FTP servers. There is also the Cocoa HTTP Server project which allows the iPhone to act as a HTTP server.

iPhone apps can also use Bonjour/mDNS/zeroconfig (they're different names for the same technology) so that the user doesn't have to be concerned with configuring IP address'.

The data transfer rate of the wireless connection is faster enough to stream video.

Benedict Cohen