You Are Here:

Community: Developer Discussion Boards

#1 Old Handling packet loss - 2006-04-01, 05:46

Join Date: Apr 2006
Posts: 4
Location: Tucson, AZ
cutedge
Offline
Registered User
Hello,
I am curious about something. Since over the air transmissions can have intermittant packet loss, how does SNAP mobile handle this? Is it built into the SNAP mobile API or does each developer have to implement their own solution?
Reply With Quote

#2 Old Re: Handling packet loss - 2006-04-02, 23:32

Join Date: Jul 2003
Posts: 14
mikbry
Offline
Registered User
Packet loss is managed by TCP protocol. SnapMobile and other Mobile Multiuser servers use this protocol for communicating. Due to Operator restrictions and proxies, UDP isn't possible.
So best is your connection, best is your bandwith and the lag is lower.

Mik
Reply With Quote

#3 Old Re: Handling packet loss - 2006-04-03, 04:01

Join Date: Apr 2006
Posts: 4
Location: Tucson, AZ
cutedge
Offline
Registered User
Yes, a packet is sent through the connection by TCP (or HTTP, which sits on top of TCP anyway) to the SNAP server, which then handles sending it to the other clients. The question is, do the SNAP servers handle making sure the packet gets to the client? I ask this because the packets are not sent to the other client, they are sent to the SNAP server which delivers them by proxy. Does the SNAP server resend a packet in the case that it is lost while "in air" between the carrier provider and the phone, or is that the carrier's responsibility (or worse, the game developer's)?

I know that the SNAP API will tell us if there was a problem getting from the phone to the SNAP server, but I'm curious on how the rest is handled...
Last edited by cutedge : 2006-04-03 at 04:16.
Reply With Quote

#4 Old Re: Handling packet loss - 2006-04-03, 10:53

Join Date: Jul 2003
Posts: 14
mikbry
Offline
Registered User
You don't have to take care of packet loss, it is TCP job:
http://en.wikipedia.org/wiki/Transmi...ntrol_Protocol
Reply With Quote

#5 Old Re: Handling packet loss - 2006-04-03, 19:33

Join Date: Apr 2006
Posts: 4
Location: Tucson, AZ
cutedge
Offline
Registered User
Yes, I know that TCP normally handles it. What I'm curious about is what happens when a packet gets lost "in air". I ask this because I am seeing packet loss in testing.

If the SNAP server isn't getting any sort of acknowledgement besides the TCP ack that says that the packet got to the carrier provider, then it would be up to the developer to implement a solution, which seems like a bad idea since it would require sending the first packet from phone to carrier and then from carrier to phone (with the snap server in the middle), and then sending an acknowledgement back from phone to carrier and then from carrier to phone, which would take way too much time.

Feel free to correct me if i'm wrong, but I don't think the underlying TCP connection takes care of this issue.
Reply With Quote

#6 Old Re: Handling packet loss - 2006-04-03, 22:12

Join Date: Jul 2003
Posts: 14
mikbry
Offline
Registered User
The mechanism of TCP is to send all packets in the right order to the client/server. So yes, you have different ACk/SYn/Waiting states like you suppose. It takes more times than a RAW UDP, and more time/bandwidth is taken if connection is bad. The only packet loss is from a server error, a timeout, a client disconnection. But in this case, you need to relogin, as docs say. Like when you browse / retreive emails on your phone, if connection is good you get all your data...
Using other protocols like UDP Socket, or RTP isn't possible mainly due to operator network limitation. A gateway filter out not standard TCP/HTTP/WAP/WSP requests in most case. And ports are locked. So fullbandwidth multiplayer isn't for today...Maybe WIFI connection will change that.

Mik
Reply With Quote
Reply « Previous Thread | Next Thread »
Display Modes
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules

You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Forum Jump
Similar Threads
Thread Thread Starter Forum Replies Last Post
Packet generator for GPRS/UMTS adamfli Symbian Networking & Messaging 0 2005-10-21 16:31
Packet generator for GPRS adamfli Mobile Java Networking & Messaging & Security 0 2005-10-21 16:29
l2cap packet queue AnaemicVampire Mobile Java Networking & Messaging & Security 0 2005-02-15 05:45
Symbian OS C++/PJava Socket Connection loss if no network coverage? suppu Symbian Networking & Messaging 0 2003-04-02 19:33
What is the expected Response Msg for an invalid Packet Number? mhamilto General Messaging 0 2002-11-29 14:46

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fdiscussionE2eforumE2enokiaE2ecomhttpE3aE2fE2fdiscussionE2eforumE2enokiaE2ecomE2fforumE2fshowthreadE2ephpE3ftE3d127641X qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE44iscussionQ qdcZtypeQUqfntypeZE44iscussionContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtopicQUqfnTopicZentertainmentQ qfnZtopicQUqfnTopicZgamesQ qfnZtopicQUqfnTopicZj2meQ qfnZtopicQUqfnTopicZjavaQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE44iscussionQ qfnZtypeQUqfntypeZE44iscussionContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE44iscussionQ qrdfZtypeQUqfntypeZE44iscussionContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ