- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在将一个 API 从 C# 转换为具有网络组件的 Java。
C# 版本似乎在其类被使用期间保持输入和输出流以及套接字打开。
这是正确的吗?
请记住,应用程序根据用户输入发送命令和接收事件,为每个“消息”打开一个新的套接字流是否更明智?
我正在维护一个 ServerSocket 来监听服务器抛出的事件,但我不太确定为出站通信维护一个 Socket 和输出流是个好主意。
我不太习惯Socket编程。与许多开发人员一样,当我需要进行网络连接时,我通常在应用程序层工作,而不是在套接字层工作,我在大学里从事这些工作已经有 5 或 6 年了。
为帮助干杯。我想这更多的是寻求建议而不是明确的答案。
最佳答案
保持连接打开的成本与创建这些连接的成本之间存在权衡。
创建连接 需要时间和带宽。你必须进行 3 次 TCP 握手,启动一个新的服务器线程,...
保持连接打开主要消耗内存和连接。网络连接是一种受操作系统限制的资源。如果连接的客户端太多,则可能会用完可用连接。这将消耗内存,因为您将为每个连接打开一个线程,并具有其关联状态。
根据您预期的使用情况,正确的平衡会有所不同。如果您有很多客户端在短时间内连接,关闭连接可能会更有效。如果长时间连接的客户端很少,您可能应该保持连接打开...
关于java - 网络编程 : to maintain sockets or not?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/519850/
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 3年前关闭。 Improve this
作为我不久前写的代码标准文档的一部分,我强制要求“您必须始终对循环和/或条件代码块使用大括号,即使(尤其是)它们只有一行。” 例子: // this is wrong if (foo) //b
我们正在创建一个大项目,该项目将持续存在并改进大约 10 年。 在我们的代码库中,已经有很多针对特定浏览器不兼容性的代码、针对浏览器中不同错误的解决方法、3rd 方工具和库等。代码本身通常运行良好,但
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 7年前关闭。 Improve t
感谢您花时间查看我的问题! 假设有一个 Web 服务(restful、SOAP、XML/JSON,无论你想要什么),并且它是一个关于小狗的服务。就本问题而言,小狗可以有两个成员变量。第一个是小狗的唯一
我的类经常有一些属性,而其他对象的属性依赖于这些属性。定义和访问它们的最佳方式是什么?一个最小的例子应该可以解释我的问题。 假设我有一个定义圆的类: class Circle: def __i
在一个应用程序中,我正在逐个读取无向图的顶点,只有当两个顶点都出现时,边才会变得明显。 解析后,我需要快速地逐一迭代图的连通分量。我选择什么算法来在解析时构建连接的组件? (在解析时,因为列出边相当昂
我目前正在将一个 API 从 C# 转换为具有网络组件的 Java。 C# 版本似乎在其类被使用期间保持输入和输出流以及套接字打开。 这是正确的吗? 请记住,应用程序根据用户输入发送命令和接收事件,为
在座的每一位可能对 Googlebot 的工作原理有一定了解的人都可能清楚地看到启动页面会损害网站的 SEO 性能。 但是,我碰巧正在处理一个相当不幸的案例,即必须为我的一个客户实现启动页面。你如何在
我正在尝试使用一些 iPhone Core Data 代码来调试一个非常邪恶的问题。 设置是这样的:我有一个线程来轮询Web服务并通过NSNotification将其结果发送到主线程(在userDic
我正在尝试通过开发类似 Web 应用程序的服务来更加熟悉 Haskell。 假设我正在开发一个网络服务器,并且我想在请求之间保持持久状态;例如,计数器。 Haskell 的做事方式是什么? 我遇到了这
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
所以我尝试为 List 创建一些基本的扩展方法。本质上我有一个 UniqueAdd 和 UniqueAddRange。它会在添加之前检查一个值是否存在,如果它已经在列表中,它就不会添加它。这是代码:
考虑一个具有可比较字段(与 equals 一致)和不可比较字段(我不知道它是否覆盖 Object#equals 的类)的类。 应比较类的实例,其中结果顺序应与相等一致,即 0 返回 iff 两个字段相
我试图将页脚设置在页面底部,并且我设法使用 CSS 属性“position:fixed”和“bottom:0”做到了这一点。但是,通过这样做,我的两个页脚 DIV 之间不再有空格。我一直在解决这个问题
目标:通过一个连接和多个 session 或一个持久 session 远程控制 ssh 服务器。 问题 1:我目前使用 sshj 通过 SSH 进行一些远程控制,它运行良好,但我似乎无法让它正确处理提
我有一个 Controller ,其中包含一些私有(private)只读接口(interface)属性,它需要这些属性才能通过调用服务来获取数据,然后用于填充模型等 private readonly
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 5 年前。 Improve
我 fork 了一个上游仓库,克隆了它,并创建了一个分支来处理一些事情 完成分支编码后,我创建了一个 merge 请求。但是在页面上有一个复选框“允许维护者编辑”? 这是什么意思?这是否意味着上游
我正在将 Kohana v3 用于 Web 项目,今天我发现自己在写这个: echo Html::anchor('user/view/'.$user->id, "See user's profile"
我是一名优秀的程序员,十分优秀!