在代理服务器中缓存

时间:2017-02-20 15:53:33

标签: java proxy server

您好我正在创建代理服务器,我需要在代理服务器中实现缓存。

缓存是一个散列图,其中URL是密钥,URL的字节数组将是值。

目前,当我尝试将字节数组写入客户端的输出流时,我遇到了问题。

try{
                        if(!myCache.containsKey(urladdr))
                        {
                            IOUtils.copy(serverInput,toClient);
                            byte[] byteArray = IOUtils.toByteArray(connection);
                            myCache.addToCache(urladdr, byteArray);
                        }
                        else{
                            toClient.write(myCache.getValue(urladdr));
                            System.out.println("got from cache");
                        }
                    }

所以基本上如果URL还没有在缓存中,我将使用IOUtils.copy加载页面,然后将url + byte数组添加到我的缓存中。

如果URL在我的缓存中,我将从hashmap获取URL的字节数组并写入客户端。这是我的程序卡住的地方,它只是没有将字节数组加载到客户端输出流中。

由于没有发送任何标题,这可能是一个问题吗? 帮助表示感谢

0 个答案:

没有答案