Я использую библиотеку android-websockets из кода в моем проекте. Но я столкнулся с проблемой при выполнении метода disconnect()
. Ниже приведен код:Websocket.disconnect() метод throws java.net.SocketException: Socket closed
public void disconnectServer()
{
if(client != null)
{
try {
if(client.isConnected())
{
client.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
я получаю следующее исключение:
05-11 17: 58: 19.873: W/System.err (29443): java.net.SocketException: гнездо закрыто
05-11 17: 58: 19,873: Вт/System.err (29443): в libcore.io.Posix.recvfromBytes (Родной метод)
05-11 17: 58: 19.873: W /System.err (29443): по адресу libcore.io.Posix.recvfrom (Posix.java:161)
05-11 17: 58: 19,873: Вт/System.err (29443): в libcore.io.BlockGuardOs.recvfrom (BlockGuardOs.java : 250)
05-11 17: 58: 19,878: Вт/System.err (29443): в libcore.io.IoBridge.recvfrom (IoBridge.java:553)
05-11 17: 58: 19,878: Вт/System.err (29443): в java.net.PlainSocketImpl.read (PlainSocketImpl.java:485)
05-11 17: 58: 19,878: Вт/System.err (29443) : по адресу java.net.PlainSocketImpl.access $ 000 (PlainSocketImpl.java:37)
05-11 17: 58: 19,878: Вт/System.err (29443): в java.net.PlainSocketImpl $ PlainSocketInputStream.read (PlainSocketImpl .java: 237)
05-11 17: 58: 19,878: Вт/System.err (29443): в libcore.io.Streams.readSingleByte (Streams.java:41)
05-11 17: 58: 19,878: Вт/System.err (29443): в java.net.PlainSocketImpl $ PlainSocketInputStream.read (PlainSocketImpl.java:233)
05-11 17: 58: 1 9,878 W/System.err (29443): в java.io.DataInputStream.readByte (DataInputStream.java:75)
05-11 17: 58: 19,878: Вт/System.err (29443): в com.codebutler.android_websockets.HybiParser.start (HybiParser.java:120)
05-11 17: 58: 19,878: Вт/System.err (29443): в com.codebutler.android_websockets.WebSocketClient $ 1. пробег (WebSocketClient.java:145)
05-11 17: 58: 19,878: Вт/System.err (29443): в java.lang.Thread.run (Thread.java:818)
Пожалуйста, помогите !!!!!
Спасибо за такой быстрый ответ. Можете ли вы предложить любую библиотеку для коммерческого использования? Я попытался использовать две библиотеки, а именно: java_websocket & codebutler/android-websockets, но это дает мне проблемы. Помимо проблемы, о которой я говорил выше, у меня возникла серьезная проблема разъединения разъемов. Я не знаю, почему он отключается, если я когда-нибудь простоял. Я получаю NotYetConnectedException, когда пытаюсь вызвать любое APU в моем проекте. Можете ли вы предложить мне любую библиотеку, которая может быть использована для коммерческого использования? –
Попробуйте ** [nv-websocket-client] (https://github.com/TakahikoKawasaki/nv-websocket-client) ** ([Блог] (http://darutk-oboegaki.blogspot.jp/2015/05) /websocket-client-library-java-se-15.html)). Чтобы сохранить соединение, вам необходимо отправить [Ping] (https://tools.ietf.org/html/rfc6455#section-5.5.2) (или незапрашиваемый [Pong] (https://tools.ietf.org/ html/rfc6455 # section-5.5.3)). 'nv-websocket-client' предоставляет метод' WebSocket.setPingInterval', чтобы сделать это очень легко. Подробнее см. В [JavaDoc] (http://takahikokawasaki.github.io/nv-websocket-client/). –