Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs websocket分页_Javascript_Node.js_Websocket_Pagination - Fatal编程技术网

Javascript nodejs websocket分页

Javascript nodejs websocket分页,javascript,node.js,websocket,pagination,Javascript,Node.js,Websocket,Pagination,我有一个javascript接口,它使用nodejs请求连接到websocket。websocket经常将生成的实时数据发送到接口 为接口进行分页的最佳方式或最佳实践是什么 这不像我会将服务器推送到接口上的所有数据都附加到接口上,数据是通过websocket一个接一个地发送的,所以这有点像日志记录 这是一个代码示例 connection.onmessage = function (message) { console.log(message.data); //var json = JSO

我有一个javascript接口,它使用nodejs请求连接到websocket。websocket经常将生成的实时数据发送到接口

为接口进行分页的最佳方式或最佳实践是什么

这不像我会将服务器推送到接口上的所有数据都附加到接口上,数据是通过websocket一个接一个地发送的,所以这有点像日志记录

这是一个代码示例

connection.onmessage = function (message) {
  console.log(message.data);
  //var json = JSON.parse(message.data.text);
  content.prepend('<p><span style="color:red"></span> @ '+ message.data + '</p>');
  console.log(message.data.text);     
};
connection.onmessage=函数(消息){
console.log(message.data);
//var json=json.parse(message.data.text);
content.prepend('@'+message.data+'

'); console.log(message.data.text); };
这方面有什么参考资料吗?
很抱歉英语不好。

这个例子还有一些事情要做,而不仅仅是关于分页的请求信息

  • 客户端,我们正在设置
    listRequest\u Message
    ,并将消息传递给服务器的套接字事件
    SessionID
    仅用于知道响应哪个用户
    UseIndexStart
    是当前最小记录,
    UseIndexEnd
    是当前最大记录

    listRequest_Message = [[SessionID], [UseIndexStart], [UseIndexEnd]]
    
  • 该示例每页返回21条记录

    //Page Back
    var UseIndexStart = StartIndex - 21
    var UseIndexEnd = UseIndexStart + 22
    
    //Page Forward
    var UseIndexStart = parseInt(StartIndex) + 21;
    var UseIndexEnd = UseIndexStart + 22;
    
服务器应用程序

  • 将响应更改为使用索引之间的记录进行响应
  • 客户端调用的套接字事件是动态的,但我已经在下面包含了一个名为
    listRequest\u news
  • 正在解析的JSON对象是一个文本文件,其中包含电影、电视节目和普通媒体的列表
代码:

socket.on('listRequest_news', function(msg, body){
for(var i = 0; i < mediaObj.length; i++){
  var thisobj = mediaObj[i];

  var JSONmsg = JSON.parse(msg[0]);
  var ClientIndex = clientkeyIndex.indexOf(JSONmsg);

  var startindex = msg[1];
  var endindex = msg[2];

  if (i > startindex && i < endindex)
    {
      clientID = parseInt(ClientIndex);
      client[clientID].emit('list_RequestGenericMedia', thisobj);
    }

  clientID = parseInt(ClientIndex);
  client[clientID].emit('list_RequestGenericMedia', thisobj);

}
});
$("#listviewcontrolller_prev").on("click", "", function(event){

var selectedOption = localStorage.getItem('selectedOption')

var StartIndex = $("#prevpage").text();
var EndIndex = $("#nextpage").text();

var UseIndexStart = StartIndex - 21
var UseIndexEnd = UseIndexStart + 22

$("#prevpage").text(UseIndexStart);
$("#nextpage").text(UseIndexEnd);

var SessionID = localStorage.getItem('SocketID')
var listRequest_Message = [[SessionID], [UseIndexStart], [UseIndexEnd]];

$("#newsOutPut").empty();
socket.emit(selectedOption, listRequest_Message);
});

$("#listviewcontrolller_next").on("click", "", function(event){

var selectedOption = localStorage.getItem('selectedOption');

var StartIndex = $("#prevpage").text();
var EndIndex = $("#nextpage").text();

var UseIndexStart = parseInt(StartIndex) + 21;
var UseIndexEnd = UseIndexStart + 22;

$("#prevpage").text(UseIndexStart);
$("#nextpage").text(UseIndexEnd);

var SessionID = localStorage.getItem('SocketID')
var listRequest_Message = [[SessionID], [UseIndexStart], [UseIndexEnd]];

$("#newsOutPut").empty();
socket.emit(selectedOption, listRequest_Message);

});

好的,我已经完成了实现。