我的要求是在我的三星智能電視應用程序中有一個監聽套接字,以便接收來自同一本地網絡中的設備的事件。在三星智能電視上使用WebSockets
我一直在網上搜索的方法來做到這一點,我遇到的術語來了,如同Node.js的,Socket.io,的WebSocket。即使我理解這些術語在Web開發方面(我認爲),但我無法想象在三星智能電視應用程序中打開偵聽套接字的方法。
只是爲了玩遊戲,我在iOS上使用GCD Async Sockets寫了一個TCP服務器代碼,並想到將它連接到智能電視併發送歡迎消息。 這是我的智能電視代碼 -
//var wsUri = "wss://echo.websocket.org/";
var wsUri = "ws://192.168.1.116:9898/";
//var output;
var webSocketObj={};
webSocketObj.init = function()
{
//output = document.getElementById("output");
this.testWebSocket();
};
webSocketObj.testWebSocket = function()
{
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt); };
websocket.onclose = function(evt) { onClose(evt); };
websocket.onmessage = function(evt) { onMessage(evt); };
websocket.onerror = function(evt) { onError(evt); };
};
function onOpen(evt)
{
writeToScreen("CONNECTED");
doSend("WebSocket rocks");
}
function onClose(evt)
{
writeToScreen("DISCONNECTED");
}
function onMessage(evt)
{
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
websocket.close();
}
function onError(evt)
{
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
}
function doSend(message)
{
writeToScreen("SENT: " + message);
websocket.send(message);
}
function writeToScreen(message)
{
/* var pre = document.createElement("p");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
output.appendChild(pre);*/
alert('SOCKET HELPER SAYS : '+message);
}
我有一個按鈕,我打電話webSocketObj.init()點擊按鈕。
客戶說:GET/HTTP/1.1
日誌從的SmartTV:
[JS ALERT]: Scenewebsocket.handleKeyDown(29443)
[JS ERROR]:
File: file://
Line No: 0
Error Detail:
[JS ALERT]: SOCKET HELPER SAYS : DISCONNECTED
ALSO我想呼應的我的服務器didReadData
日誌消息從服務器返回到智能電視。而這一次,我得到了日誌
Client says : GET/HTTP/1.1
Client says : Upgrade: WebSocket
Client says : Connection: Upgrade
Client says : Host: 192.168.1.116:9898
Client says : Origin: file://
Client says : Sec-WebSocket-Key1: 1504l73 8Ew/J 4 ,L7W6
Client says : Sec-WebSocket-Key2: TK2 81d A64Bo7 118 0
我知道我在做一些可怕的錯誤......它是什麼?請幫助。
所以node.js代碼將被寫入相同的智能電視應用代碼?我的意思是問node.js服務器將在智能電視上運行? – 2013-05-09 10:05:00
不,你不能在電視上創建任何監聽套接字,node.js在託管服務器上運行,並且電視連接到它作爲客戶端 – 2013-05-10 11:55:14
我在我的應用程序上有socket.io,但它不適用於我的智能電視三星。您是否與智能電視模型aund web sockets支持有任何聯繫? – vrunoa 2014-07-30 02:48:29