我正在开发一个基于TUN的VPN服务器,其目的是在将数据包转发到目的地之前分析它收到的数据包.目前,我从TUN接口接收IP数据包,只是将它们发送到目的地未经修改.
我知道分析UDP数据包的内容就像剥离IP和UDP头一样简单.但是,为了分析TCP流量的内容,我需要从多个IP数据包重建消息.有没有重新实现TCP的简单方法呢?是否有任何易于访问的C/C++库用于此任务?我更喜欢Linux系统库和/或开源,非病毒/非copyleft库.
我已经考虑过的一件事是制作每个IP数据包的副本,并将副本的目标IP更改为localhost,以便我的服务器的不同部分可以接收这些TCP请求和响应完全重建且没有标头.但是,我无法将目标IP与流量内容相关联,这是我想要的.
我的移动网络应用程序底部有一个工具栏.我希望能够上下拖动此工具栏,显示其下方的内容.我希望能够通过使用HTML/CSS简单地完成此操作,而不必使用触摸/滚动事件或移动触摸/滚动库.
我试图通过将主要webapp顶部的滚动元素与工具栏及其底部的内容重叠来实现此目的.我给这个元素一个z-index比主要内容更低的元素,这样它就不会阻止用户与主要内容进行交互,并且工具栏及其内容更高,z-index以便可以看到和拉出/向上滚动.
我创建了一个jsFiddle,它在桌面版和Android版Chrome中都有正确的行为.我可以用手指向上拖动工具栏,或者用光标在其上滚动:

不幸的是,工具栏没有出现在Android浏览器中(在4.1和4.2上测试过).

但是,当我按下工具栏应该向上并向上拖动时,它不会滚动页面,直到我将手指移动到足以将工具栏一直向上滚动(如果它可见).这是滚动工具栏在Chrome中的工作方式,并指示工具栏在Android浏览器中正确滚动.它只是不可见.
<div id="main-content"></div>
<div id="scroller">
<div id="wrapper">
<div id="toolbar-and-content">
<div id="toolbar">Toolbar</div>
<div id="toolbar-content">Toolbar content</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
#main-content {
position:relative;
width:100%;
height:300px;
background-color:green;
z-index:1;
}
#scroller {
position:absolute;
top:0;
width:100%;
height:300px;
overflow:auto;
}
#wrapper {
position:relative;
width:100%;
height:500px;
}
#toolbar-and-content {
position:absolute;
bottom:0;
width:100%;
height:250px;
z-index:2;
}
#toolbar {
width:100%;
height:49px;
border-bottom:1px solid black;
background-color:red;
}
#toolbar-content {
width:100%;
height:200px;
background-color:orange;
}
Run Code Online (Sandbox Code Playgroud)
我认为它在Android浏览器上不起作用,因为它决定忽略工具栏的更高z-index,因为它在一个较低的元素中z-index.
无论哪种方式,有没有人知道我怎么能够改变它,以便它可以在Android浏览器上工作,和/或是否有其他布局方案,我可以用来实现我想通过只有HTML/CSS?
我正在寻找的是我可以添加到Java类中的某种类或注释,这些类专用于处理特定请求,并且URL根据其名称映射到这些类.例如,将URL".../api/GetContactsRequest"映射到名为GetContactsRequest的处理程序(如果不存在此类处理程序,则为404).我知道我可以编写servlet并将每个URL映射到每个servlet,但我认为样板路由代码/配置越少越好!这些将主要是应用程序请求处理程序,使用JSON进行通信.我还没弄清楚我将如何处理静态请求,但我很可能只是向用户发送一个大型Web应用程序,导航自己或其他东西.
对于后台,我正在使用Google App Engine,因此我可以访问yaml配置及其servlet API.那么有一种标准的方法可以使用Java servlet API或Google App Engine特定的框架吗?我以前只使用过像Apache这样的特定Java servlet框架,这些框架都是在我开始编写它们时已经构建的,所以我真的不知道这个环境有什么用处.我对这一切也很陌生,并且无法浏览Servlet,服务,过滤器,监听器和处理程序,以及哪种最适合我想要/需要的简单路由行为.我担心我会选错了,或者甚至不知道哪一个能满足我的需求.
android ×1
c++ ×1
html ×1
java-server ×1
networking ×1
overflow ×1
servlets ×1
sockets ×1
tcp ×1
url-routing ×1
vpn ×1
z-index ×1