2016-08-17 2 views
0

websocketサーバーに接続する単純なモバイルアプリケーションを開発しようとしました。私はPhoneGapのが私のAndroidの.apkを作るためにを構築使用し、ここでHTMLコードです:私が使用している場合私のAndroidアプリ(Phonegap Buildを使用)でWebSocketが動作しない

<html> 
<head> 
<title>Testing websockets</title> 
</head> 
<body> 
<div id="messages"></div> 
<script type="text/javascript"> 
var webSocket = 
    new WebSocket('ws://192.168.82.1:8080/WebSocket/websocket'); 

webSocket.onerror = function(event) { 
    onError(event) 
}; 

webSocket.onopen = function(event) { 
    onOpen(event) 
}; 

webSocket.onmessage = function(event) { 
    onMessage(event) 
}; 


function onMessage(event) { 

    document.getElementById('messages').innerHTML 
    += '<h1 align="center"/>' +" "+ event.data; 

} 

function onOpen(event) { 

    document.getElementById('messages').innerHTML 
    += '<h1 align="center"/>connection established'; 
} 

    function onError(event) { 
    alert(event.data); 
} 

</script> 
</body> 
</html> 

コードは、私のナビゲーター上で正常に動作しているが、メッセージ「接続が確立は、」でも、表示されません。 Androidアプリ このコードに問題がありますか、またはアプリにライブラリが必要ですか?

PS:私は、サーバーにメッセージを送信し、そこからテキストを受け取るボタンを持つ別のコードを持っています。もちろん、同じ問題です!

答えて

2

WebSocketは、Android 4.4以降のWebViewでのみサポートされています。古いAndroidバージョンで使用したい場合、いくつかの選択肢があります:

  • この機能を提供するCordovaプラグインを使用してください。例えば、https://github.com/knowledgecode/WebSocket-for-Android(これは一例であり、私はそのプラグインで働いたことはない)

  • 使用サポートされている場合のWebSocketを提供していないときは、他の技術にフォールバックするSockJSまたはsocket.ioのようなもの。これらのテクノロジを使用するには、サーバでもこれらを使用する必要があります。

+0

ありがとうございました。私は、また、彼らのレポにPhoneGap Build WebSocketプラグインがあることを発見しました。私は両方のソリューションを試してみましょう! – Koblenz

関連する問題