我登陆完 udp 的端口是 随即
另外一个客户端也是我在网上有下类似语音通信的DEMO但是他们的端口都是写死啊我也尝试过再他们程序上监听的端口 换成 对象客户端的端口但是连接不上这是为什么啊像QQ 什么的是怎么做的呢 还有如果用NetMeeting 完成这个功能 可以实现吗 小弟困惑中 求指点

解决方案 »

  1.   

    private static List<AudioMessageING> XXAudioData(byte[] aData) throws Exception{
    //Check
    if(aData == null){

    return null;
    }
    /**
     * 拆分
     */
    int dataLength = aData.length;

    int arrayNum = (dataLength / 400) + 1;

    List<AudioMessageING> list = new ArrayList<AudioMessageING>();
    int n = 0;
    int index = 0;
    while(n <= dataLength){

    int len = Math.min(400, dataLength - n);

    byte[] temp = new byte[len];

    try {
    System.arraycopy(aData, n, temp, 0, len);
    } catch (Exception e) {
    // TODO Auto-generated catch block

    System.out.println("n:" + n);
    System.out.println("n:" + n);
    System.out.println("temp:" + temp);
    System.out.println("temp:" + temp);
    System.out.println("len:" + len);
    System.out.println("len:" + len);

    e.printStackTrace();

    }

    AudioMessageING ing = new AudioMessageING();

    if(index == 0){

    ing.setCmd(Cmd.Begin);
    ing.setData(temp);
    ing.setDataIndex(index);

    }else if((n + len) == dataLength){

    ing.setCmd(Cmd.End);
    ing.setData(temp);
    ing.setDataIndex(index);

    }else{

    ing.setCmd(Cmd.Ing);
    ing.setData(temp);
    ing.setDataIndex(index);
    }
    list.add(ing);

    n+=400;
    index++;
    }
    return list;
    }