java.net.SocketException: операция не разрешена - PullRequest
1 голос
/ 11 сентября 2010

Код:

final int port = 5060;
byte[] inviteBytes = sipInvite.getBytes();
DatagramPacket packet = new DatagramPacket(inviteBytes, inviteBytes.length, toInetAddress, port);
DatagramSocket serverSocket = new DatagramSocket(port);
serverSocket.send(packet);

Какие броски:

09-10 19:18:00.107: WARN/System.err(5408): java.net.SocketException: Operation not permitted
09-10 19:18:00.117: WARN/System.err(5408):   at org.apache.harmony.luni.platform.OSNetworkSystem.sendDatagramImpl(Native Method)
09-10 19:18:00.117: WARN/System.err(5408):   at org.apache.harmony.luni.platform.OSNetworkSystem.sendDatagram(OSNetworkSystem.java: 571)
09-10 19:18:00.117: WARN/System.err(5408):   at org.apache.harmony.luni.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java: 275)
09-10 19:18:00.117: WARN/System.err(5408):   at java.net.DatagramSocket.send(DatagramSocket.java:463)
09-10 19:18:00.117: WARN/System.err(5408):   at com.icast.mypie.sip.SipClient.doConnect(SipClient.java:71)
09-10 19:18:00.117: WARN/System.err(5408):   at com.icast.mypie.sip.SipClient.run(SipClient.java:43)

Nexus 2.2, устройство подключается через wifi. Порт не заблокирован. Датаграмма отправка работает с андроид 1.5 moto blur.

1 Ответ

1 голос
/ 14 июня 2011

Вместо отправки байтов сообщения SIP попробуйте отправить несколько случайных байтов через DatagramSocket в то же место в коде, это должно работать (только для проверки проблемы)

Я не смог отправитьSIPmessage в моей программе тоже, и оказалось, что в SIPMessage была проблема с SDP-полезной нагрузкой, особенно с пробелами в некоторых местах.& 2.3.3), но мои G1 и Nexus S не могут отправлять сообщения (с Android 2.3.3 и Android 2.3.4).

Точная причина, по которой DatagramSocket ведет себя так, все еще неясно, но я буду продолжать это.

...