Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 我是否可以保存图像或从客户端加载图像,而不是每次都发送它们?_Javascript_Node.js_Image_Client Server - Fatal编程技术网

Javascript 我是否可以保存图像或从客户端加载图像,而不是每次都发送它们?

Javascript 我是否可以保存图像或从客户端加载图像,而不是每次都发送它们?,javascript,node.js,image,client-server,Javascript,Node.js,Image,Client Server,我正在使用node.js和socket.io,我正在制作一个游戏。有相当多的精灵我需要发送到客户端,所以为了降低带宽,我考虑将数据存储在客户端计算机上。现在,基本的想法是只下载一次,然后保存到客户端的计算机上。但是我如何控制客户的文件呢?我如何在客户的计算机上保存图片/常规数据 以下是我正在做的: self.sources = [ [//trees, 0 "res/images/enviornment/trees/tree_1_1.png",//0

我正在使用node.js和socket.io,我正在制作一个游戏。有相当多的精灵我需要发送到客户端,所以为了降低带宽,我考虑将数据存储在客户端计算机上。现在,基本的想法是只下载一次,然后保存到客户端的计算机上。但是我如何控制客户的文件呢?我如何在客户的计算机上保存图片/常规数据

以下是我正在做的:

 self.sources =
  [
      [//trees, 0
           "res/images/enviornment/trees/tree_1_1.png",//0
           "res/images/enviornment/trees/tree_1_2.png",//1
           "res/images/enviornment/trees/tree_1_3.png",//2
           "res/images/enviornment/trees/tree_1_4.png",//3
      ], //there are many other pictures, but this is just the concept
 ];        

 self.images = new Array();
 for (i = 0; i < self.sources.length; i++)
 {
      self.images.push([]);
      for(t = 0; t < self.sources[i].length; t++)
      {
           self.images[i][t] = new Image();
           self.images[i][t].src = self.sources[i][t];      
      }
 }
self.sources=
[
[//树,0
“res/images/environment/trees/tree_1_1.png”,//0
“res/images/environment/trees/tree_1_2.png”,//1
“res/images/environment/trees/tree_1_3.png”,//2
“res/images/environment/trees/tree_1_4.png”,//3
],//还有许多其他图片,但这只是概念
];        
self.images=新数组();
对于(i=0;i
您应该看看。请注意,目前还不支持到处使用。浏览器将缓存图像,但过期类型由服务器选择,根据类型,服务器也可能会正确处理客户端缓存最新的文件请求

如果您想让它“正常工作”,请使用Express


要了解有关http缓存的更多信息,请尝试以下内容:

这信息太多了,我认为缓存是一种处理器的内部内存,对于这个特定问题,最好使用更“丰富多彩”的解释。。。但是这看起来确实是一个有用的信息来源,所以我会一直读下去。嘿,如果你要使用网络,你需要知道它是如何工作的。有很多层次的缓存。如果你在考虑CPU中的一级/三级缓存,你是在思考太深的问题。是的,是的,我知道,但我不能从这样的事情开始。。。正如我所说的,我会一直读下去,“控制客户的文件”。在你脑子里想一想为什么这永远不可能。是的,那可能是个糟糕的公式。。。但必须有一种方法在客户许可的情况下保存20张图片,或者至少加载这些图片,然后让他从其他地方下载。我的意思是,从技术上讲,这是可能的,只要你上传一张基本上就是这样的图片。是的。。。大多数浏览器已经自动为您缓存静态数据。通常你不需要做任何事情,除非你有一个不稳定的服务器设置。我可能会这样做。。。我自己从简单的socket.io示例中编写了代码,但这并不是不可编译的。但这是个好消息!所以在大多数情况下,浏览器都会自动为我执行此操作?一般来说,是的。然而,有太多的变量在起作用,无法给出一个普遍的答案。