问题标签 [application-layer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

networking - 应用层具体是什么?

我正在阅读Mike Meyers撰写的Comptia network+ All in One Guide时,我遇到了这样一行:“应用程序层并不是指应用程序本身,而是指操作系统中内置的代码,这些代码使得能够制作网络感知应用程序。”


connect所以我的问题是,这样的功能是否bind包含listen应用层?

0 投票
1 回答
212 浏览

networking - 如何使用 http 或其他应用层协议检测数据包?

我正在编写一个可以检测网络数据包中使用的协议的程序。对于接收到的每个数据包,它将尝试检测网络和传输层中的协议。在这两层中检测协议非常容易,因为在数据包的某处我们有一些字节告诉我们协议。但是对于应用程序层,据我所知,这要困难得多。没有在 HTTP 数据包中没有提到协议(据我所知)。检测应用层协议的另一个困难是整个 HTTP 请求或响应可能需要多个数据包,并且连接多个数据包要困难得多。

我想从理论上知道如何检测这些协议。

0 投票
1 回答
110 浏览

postgresql - 在应用程序代码上使用 Postgres 的外部过程语言

我试图找出使用非 plpgsql 过程语言(PL/Python、PL/Perl、PL/v8 等)在数据库级别实现数据操作逻辑而不是上升到模型级别的优缺点/与数据库(Rails、Entity Framework、Django 等)交互并在那里实现它的应用程序框架的 ORM。

举一个具体的例子,比如说,我有一个包含Mustache模板的表,我想以某种方式“渲染”它们。表定义:

通常我会去模型代码并添加额外的方法来渲染模板。Rails 中的示例:

但是,我也可以编写一个 PL/Python 函数,它可以做到这一点,但在数据库级别:

这在功能方面产生了几乎相同的结果。这个例子是非常基本的,但想法是使用 PL/Python(或其他)以比 PL/pgsql 允许的更高级的方式操作数据。也就是说,PL/pgsql 没有今天任何通用编程语言提供的相同数量的库(在示例中,我依赖于 Mustache 模板系统的实现,在这种情况下在 PL/pgsql 中实现是不切实际的)。我显然不会将 PL/Python 用于任何类型的网络或其他操作系统级别的功能,但对于专门针对数据的操作,这似乎是一种不错的方法(改变我的想法)。

到目前为止我可以观察到的几点:

  • PL/Python 是一种“不受信任”的语言,我想这使得编写函数更加危险,因为您可以访问系统调用;至少感觉搞砸一个 PL/Python 函数的成本比在应用层出错的成本要高,因为前者是在数据库的上下文中执行的
  • 数据库方法更具可扩展性,因为我正在处理最接近数据的级别,即我没有将表示逻辑分散在多个“层”(在这种情况下为 ORM 和 DB)。这意味着如果我需要一些其他对与数据交互感兴趣的外部服务,我可以将其直接插入数据库,绕过应用程序层。
  • 在模型级别上实现这一点似乎执行起来要简单得多
  • 支持应用程序代码变体似乎也更容易,因为要记住的概念更少

这两种方法的其他优点和缺点是什么?(例如性能、可维护性)

0 投票
1 回答
32 浏览

networking - 网络示例 - IP 地址

我刚刚开始学习网络并遵循 Kurose 和 Ross 的书。他们有以下 python 代码片段来说明 UDP 协议。

简单客户端的代码由下式给出

服务器的代码由下式给出

我很幸运拥有两台笔记本电脑,并考虑让一台运行客户端,一台运行服务器部分。这是幼稚的吗?我正在努力找出如何在serverName此处指定变量或 IP 地址。两台笔记本电脑都在同一个 WiFi 网络中(即使它的 eduroam 可能会导致问题?)

当我使用终端查找本地 IP 地址时,一个给我 10.17.47.158,另一个给我 100.112.82.103。但仅仅使用这些 IP 地址似乎不起作用。我究竟做错了什么?另外为什么它们如此不同,这是否意味着它们没有连接到同一个路由器?

我可以只在两台不同的笔记本电脑上运行这两个应用程序,并且当我指定正确的 IP 地址时一切都应该正常工作吗?还是我在这里完全错了?

0 投票
1 回答
31 浏览

java - How to avoid services in DtoMappers layer

Good day, I have a Spring Boot based backend , we are using own library to convert JPA entities to Dto's (library works based on reflection). The problem is , we inject service layer directly to some mappers. Let's say I have a UserEntity and UserDto. UserDto has a field called avatar and avatars are stored in S3. So in order to build a UserDto we are using the code like this.

I don't like this approach because Mapper mustn't know anything about Service layer . However this mapper is used by other mappers as well. In case I want to return an OrderDto, it has a nested UserDto so OrderDto calls UserMapper internally. Are there any best practices for Mappers to be service free ?

So far I tried the following.

  1. Store avatar in ThreadLocal cache. When controller calls a service to get a user, service will store user's avatar in the ThreadLocal, and then Mapper will get it from ThreadLocal cache. Disadvantage - it's hard to test it and requires me to make Mocks
  2. Create a separate POJO called UserWithAvatar that stores UserEntity entity;String avatar and create a mapper for UserWithAvatar instead of UserEntity. Disadvantage - as I said this mapper will be used by OrderMapper and order mapper takes OrderEntity with nested UserEntity instead of UserWithAvatar
0 投票
2 回答
100 浏览

c++ - 向 OMNET++ 中的所有节点发送 UDP 广播消息

我正在将 OMNET++ INET 用于 Ad hoc 网络。我想用 UDP 将我的消息广播给我的所有邻居。我已经尝试了 UDPBasicApp 中所有可能的解决方案。如果目的地不固定(接收器),它会随机选择一个时间向一个节点广播一条消息。UDPBasicBurstApp 也不向所有连接的节点发送消息。

0 投票
1 回答
96 浏览

udp - UDP广播到所有节点

我正在尝试向所有节点解决 OMNET++ Ad hoc 无线 UDP 消息。我的配置文件如下:

在ini文件中

但这不起作用。destAddress可以设置为

但这仍然一次随机选择一个主机。如何将数据包发送到所有节点/主机。