Discussion Board

Results 1 to 10 of 10
  1. #1
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    问题:用 6600的Socket Server,在正常的GPRS环境下,采用UDP协议实时发送RTP包,
    连续100秒左右,经常有几次6-7秒的间隔,服务器端收不到任何数据包,但这部分数据
    基本没有丢失,很有规律。请问如何减少这6-7秒的延迟?采用AMR515编码,每200ms发
    送一个包,每个包大小不超过250字节。



    具体情况描述如下:



    我们开发一个Nokia6600手机上GPRS的应用,主要是实时录音PCM数据,通过异步服务程
    序进行AMR 515编码(使用系统提供的amrdll.dll库)声音数据通过rtp发送到服务端。
    使用的是UDP协议。发现在服务器有一段时间(大约是6-7秒)没有收到数据包,造成
    语音的延迟。过了这段时间后又很快接收到延时的数据包。记录的数据如下:



    下面分别是客户端和服务器端的log记录,说明如下:

    1.No.+ 数字: 表示发送的包序号。

    2.Send Data From Queue: 表示从缓冲队列种发送数据包。

    3.RunL: 表示发送数据包的iStatus状态。

    4.Cancel Write: 表示发送数据超时,取消发送。

    5.DoCancel: 表示取消发送时条用DoCancel()函数。

    6.Server端信息表示接收的数据包时间和数据。

    7.发送超时300毫秒,重发次数0。



    //客户端log数据

    No.608Send RTP Data: 17:5:28:500000
    Send Data From Queue: 17:5:28:531250
    No.609Send RTP Data: 17:5:28:671875
    No.610Send RTP Data: 17:5:28:796875
    RunL: 17:5:28:843750TimeOut = 400 No.608Send RTP Data: 17:5:28:50
    Send Data From Queue: 17:5:28:859375
    RunL: 17:5:28:890625TimeOut = 130 No.609Send RTP Data: 17:5:28:67
    Send Data >From Queue: 17:5:28:921875
    RunL: 17:5:28:937500TimeOut = 115 No.610Send RTP Data: 17:5:28:79
    No.611Send RTP Data: 17:5:29:62500
    Send Data From Queue: 17:5:29:93750
    No.612Send RTP Data: 17:5:29:171875
    No.613Send RTP Data: 17:5:29:234375
    RunL: 17:5:29:265625TimeOut = 265 No.611Send RTP Data: 17:5:29:62
    Send Data From Queue: 17:5:29:296875
    RunL: 17:5:29:328125TimeOut = 130 No.612Send RTP Data: 17:5:29:17
    Send Data >From Queue: 17:5:29:343750
    RunL: 17:5:29:390625TimeOut = 145 No.613Send RTP Data: 17:5:29:23
    No.614Send RTP Data: 17:5:29:734375
    Send Data From Queue: 17:5:29:812500
    No.615Send RTP Data: 17:5:29:968750
    No.616Send RTP Data: 17:5:30:140625
    Cancel Write
    DoCancel
    Send Data From Queue: 17:5:30:343750
    No.617Send RTP Data: 17:5:30:500000
    No.618Send RTP Data: 17:5:30:656250
    No.619Send RTP Data: 17:5:30:812500
    Cancel Write
    DoCancel
    Send Data From Queue: 17:5:30:984375
    No.620Send RTP Data: 17:5:31:156250
    No.621Send RTP Data: 17:5:31:281250
    No.622Send RTP Data: 17:5:31:437500
    Cancel Write
    DoCancel
    Send Data From Queue: 17:5:31:562500
    RunL: 17:5:31:609375TimeOut = 145 No.617Send RTP Data: 17:5:30:50
    Send Data From Queue: 17:5:31:640625
    No.623Send RTP Data: 17:5:31:765625
    No.624Send RTP Data: 17:5:31:906250
    No.625Send RTP Data: 17:5:32:15625
    Cancel Write
    DoCancel
    Send Data From Queue: 17:5:32:109375
    RunL: 17:5:32:140625TimeOut = 130 No.619Send RTP Data: 17:5:30:81
    Send Data From Queue: 17:5:32:171875
    RunL: 17:5:32:203125TimeOut = 130 No.620Send RTP Data: 17:5:31:15
    Send Data >From Queue: 17:5:32:218750
    RunL: 17:5:32:265625TimeOut = 145 No.621Send RTP Data: 17:5:31:28
    Send Data From Queue: 17:5:32:281250
    RunL: 17:5:32:328125TimeOut = 145 No.622Send RTP Data: 17:5:31:43



    //服务器端log数据

    17:05:58:392 235 No.608Send RTP Data: 17:5:28:500000

    17:05:58:529 235 No.609Send RTP Data: 17:5:28:671875

    17:05:58:690 235 No.610Send RTP Data: 17:5:28:796875

    17:05:59:090 235 No.612Send RTP Data: 17:5:29:171875

    17:05:59:269 235 No.613Send RTP Data: 17:5:29:234375

    17:05:59:471 235 No.614Send RTP Data: 17:5:29:734375

    17:05:59:657 235 No.615Send RTP Data: 17:5:29:968750

    17:05:59:830 235 No.616Send RTP Data: 17:5:30:140625

    17:06:06:141 235 No.617Send RTP Data: 17:5:30:500000

    17:06:06:320 235 No.618Send RTP Data: 17:5:30:656250

    17:06:06:522 235 No.619Send RTP Data: 17:5:30:812500

    17:06:06:719 235 No.620Send RTP Data: 17:5:31:156250

    17:06:06:903 235 No.621Send RTP Data: 17:5:31:281250



    (可以看到从17:05:59到17:06:06有7秒的空白)

    问题:

    1.服务器端在No.616和No.617之间有7秒延时,请问如何改善有较长时间没有收到数据
    的情况?

  2. #2
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    呵呵有人碰到过这个问题吗?是不是因为socket链接的socket过多或者是程序的active object过多的原因?

  3. #3
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    没人碰到过这个问题吗?

  4. #4
    Nokia Developer Champion beover1984's Avatar
    Join Date
    Jun 2005
    Location
    Beijing
    Posts
    5,578
    有可能是RunL()比较大的原因吧,要不就是机器本身的问题,你换别的型号试试看
    Beover1984
    -----------
    Doing what comes naturally

  5. #5
    Registered User symbianchina's Avatar
    Join Date
    Jun 2004
    Posts
    31
    建议先确定是否是通讯造成的延时?可以不进行实时audio编码,以相同的间隔不断发送同样的数据包,看看是否在server端仍有延时问题?另外你是跑cmnet还是cmwap?

  6. #6
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    thanks!
    beover1984 我在其他机型上测试都是好的,就在6600上不行;
    symbianchaina:写的是一个基本的基于ao的发送程序,没200ms发送一个大小为200byte的udp包
    但是在gprs环境下仍然有7s的间隔,确定是机型的问题,可是不知道怎么解决
    大家还有什么建议吗,谢谢

  7. #7
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    我还用j2me写了一个同样的每隔200ms发送一个大小为200bytes的发送程序,在nokia 6600上也有同样的问题

  8. #8
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    我还怀疑过是fireware版本的问题,今天特意到nokia重新update了最新的版本

  9. #9
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    基本上可以确信是6600操作系统的问题,我的客户端数据都发送到了操作系统的服务器端,可是服务器端+网卡驱动程序没有把数据即时发送给服务器,不知道是否有人碰到过这个问题,怎么解决的?

  10. #10
    Registered User dicson_hu's Avatar
    Join Date
    Oct 2005
    Posts
    16
    hehe怎么没人回答亚?

Similar Threads

  1. nokia 6600 mrouter crippled, GPRS ONLY!
    By dalore in forum Symbian C++
    Replies: 8
    Last Post: 2006-02-20, 10:19
  2. GPRS connection problems on 6600..
    By suckho in forum Symbian Networking & Messaging (Closed)
    Replies: 10
    Last Post: 2005-12-02, 14:00
  3. GPRS support by Operators for 6600
    By leonooi in forum General Development Questions
    Replies: 4
    Last Post: 2004-02-02, 05:18
  4. Replies: 1
    Last Post: 2004-01-19, 11:39
  5. nokia 6600 mrouter crippled, GPRS ONLY!
    By dalore in forum Symbian Networking & Messaging (Closed)
    Replies: 1
    Last Post: 2004-01-18, 15:21

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved