On Aug 4, 2009, at 12:49 PM, James Lin wrote:

I am trying to make the iPhone a server and a client at the same time...

What I am trying to accomplish...

1. iPhone running my application opens a "server" socket and listens for incoming network connection from another iPhone running the same application. 2. The server socket has an "ip address" that i can register with my php/mysql server. 3. Another iPhone running my same app acts as the client gets the iPhone server's ip address from the server and make connection to the server iPhone. 4. The client iPhone sends a string "hello, I am James" to the server iPhone and the server iPhone reply with the user's choice of either "Hi, Nice to meet you" or "Get lost!" strings.


Unless the two phones are on the same local WiFi network, due to the way that various NATs (especially with cell phone networking), a client will almost certainly not be able to connect to a server running on the phone. Basically, the phone see only a local (private) network, and will have an address such as 10.3.5.12. Unfortunately, that IP address is meaningless outside of local network (there is no way for a remote phone, which may have the exact same address, to find 10.3.5.12 as being your local phone).

Given that trying to support phone based servers isn't going to work except for within the same WiFi network, you might as well instead use Bonjour for one phone to discover the other phone (which will automatically handle finding/resolving/advertising ip address/ports).


Glenn Andreas                      gandr...@gandreas.com
 <http://www.gandreas.com/> wicked fun!
Mad, Bad, and Dangerous to Know

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to