我做了一个Android的Socket通信方面的DEMO,服务端为有固定IP地址的PC机,客户端为Android手机,通信方式为应答式,即Android向PC发起连接,连接成功后,Android每隔2分钟发一次心跳包给PC保持连接。通信时,Android向PC发包,PC收到处理后,回应Android的处理结果。 我测试时,发现有以下问题: 
   通信延时有时候特别严重,一般情况是600至900毫秒,可有时候手机换一个地方,却延时至8秒多,甚至超过10秒。而我用模拟器测试不会超过100毫秒。   我对网络的要求并不高,像这样一次发包、收包的网络延时在1秒内就OK了。 
  手机卡是中国移动的,用的是2G的EDGE,服务端是中国电信的固定IP的PC。 
  想向各位请教,导致这么严重的网络延时是什么原因(DEMO中服务端没有进行处理,只是信息转发,不会存在服务端的负担问题),有什么方法可以改进?