Android后台进行udp发送报EPERM异常

在前台使用好好的,进入后台以后一段时间是正常的但之后会报
java.net.SocketException: sendto failed: EPERM(Opereation not permitted)
源代码如下
new Thread(new Runnable() {
@Override
public void run() {

            // TODO Auto-generated method stub
            while (ifUdp) {
                byte[] sendBuf;
                Log.d("SendMyLocationService","SendMyLocationService");
                if (UdpData != null) {
                    sendBuf = UdpData.getBytes();
                    try {
                        daSocket = new DatagramSocket();
                        packet = new DatagramPacket(sendBuf, sendBuf.length, InetAddress.getByName(DataIP),
                                DataPort);
                        daSocket.send(packet);
                        Log.i("sendlola...", packet.toString());
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                try {
                    Thread.sleep(30*1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }).start();

这里的Thread.sleep本来是5s一发,会有这个异常,改成30s后目前还没有见到这个异常。很想知道这是个什么原因。我看stackoverflow上说The problem has been solved and the error was being caused from the payload of the SIP packet. The CSeq value in the SIP packet was being set to 0 initially. Instead it had to start from 1.大概是SIP负载的原因,初始化SIP包的时候要把CSeq改成1。不是很了解这块的协议,也不知道他说的对不对。请大家指教下。

http://blog.csdn.net/u010828718/article/details/48973433