当前位置: 首页 > 知识库问答 >
问题:

处理多个TCP客户端

慕胡媚
2023-03-14

最大消息长度为64K字节(尽管我可以将其减少到256字节)。

注意:这将运行在一个微小的嵌入式设备上,所以使用像ZMQ这样的消息传递层不是一个选项(没有足够的内存)。

我可以:

共有1个答案

萧宏远
2023-03-14

如果可以两者兼得,何不两样都用呢?

  1. 为“少数”客户端提供一个较大的单个缓冲区。
  2. 保持每个客户端读取之间的时间,如果您认为存在DOS攻击或读取需要很长时间(由于连接缓慢),请将客户端踢开。这里的思想是实现一个时间窗口。
  3. 如果您处于“黄金时间”,请增加缓冲区(用于更多客户端)或分配另一个缓冲区(基于银行)。
  4. 否则收缩缓冲区。

只要稍加管理,您就可以同时为一些客户服务,而且不会浪费宝贵的内存。

 类似资料:
  • 我觉得这些可能是基本的话题,但我在其他地方找不到简洁的答案。 在构建TCP服务器时,我的理解是,每个连接的客户端都必须转移到自己的端口,以保持合理的连接(例如,知道此消息来自此客户端)。 如何设置这一点?我假设你有一个列表和一个人们连接的专用“入口点”套接字。连接套接字会找到一个空闲端口,用端口号进行回复,并在该端口上设置一个新的套接字进行侦听。这听起来对吗? 如果是这种情况,在我看来,在侦听传入

  • 我使用这个(Android TCP连接增强的)教程来创建简单的JAVA TCPServer和Android TCPClient。它工作得很好,但使用这段代码我只能同时将一个设备连接到服务器。我必须更改什么才能连接多个设备?

  • tcp 客户端例程 tcp 客户端例程 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* * 程序清单:tcp 客户端 * * 这是一个 tcp 客户端的例程 *

  • 我尝试使用Java中的Sockets连接到多个客户端。一切似乎都正常,但问题是,服务器只监听第一个客户端。如果有多个客户端,服务器可以向它们发送所有消息,但他可以只监听来自第一个客户端的消息。我尝试了所有这些(我从昨天开始就遇到了这个问题)。所以我很确定,错误一定在“ClientListener”类中。 说明:有一个客户端列表(用于与字符串通信的连接)。在GUI中有一个列表,我可以在其中选择要与哪

  • 提示 视频 PPT 下载 背景介绍 socket 编程一般采用客户端-服务器模式,即由客户进程向服务器进程发出请求,服务器进程执行请求的任务并将执行结果返回给客户进程的模式。 本教程介绍了如何编写一个基于 socket 编程实现的 TCP 客户端。我们先将 socket 编程的流程列出来,然后给出具体的实例。 TCP 客户端的 socket 编程流程 1. 创建 socket 2. 建立连接 3.

  • 问题内容: 单个Servlet如何处理以用户请求形式出现的多个客户端请求?基于单例设计模式,我知道我们创建了一个servlet实例,但是单个servlet如何处理数百万个请求。对其所涉及的线程也感到困惑。 同样,这里提供了任何浏览器规范或设置,可用于跨请求发送请求或生成针对请求发送的线程。 所有框架都相同还是不同(例如,struts v / s springs)? 问题答案: Struts / S