当前位置: 首页 > 面试题库 >

一些Java Datagram Socket问题

万俟浩
2023-03-14
问题内容

最近,我开始学习使用Java进行套接字编程,还有一些一般性的问题。

有一个bind()方法,以及一个connect()和disconnect()。没有unbind()。这是因为断开连接后套接字没有绑定吗?程序退出后,垃圾回收会处理吗?还是这不是一个有效的问题?

另外,在创建DatagramSocket时,如果仅提供端口和地址,会有什么不同?我正在创建一个程序来收集网络外的数据,因为数据会浮动并记录下来。我应该只使用本地地址吗?创建套接字时无法使用该地址导致我无法收集数据包?

我只是想对这些事物的内部机制有更深入的了解。


问题答案:

那里大约有15个独立的问题,但我会尽力解决这些问题:

有一个bind()方法,以及一个connect()和disconnect()。没有unbind()。这是因为断开连接后套接字没有绑定吗?

bind()connect()和分开disconnect()。绑定用于将套接字绑定到特定端口-
有效地“监听”连接,而connect()用于打开与已经在特定端口上侦听的套接字的连接。相当于unbind()close()

程序退出后,垃圾回收会处理吗?还是这不是一个有效的问题?

尽管垃圾回收是一种用于内存管理而非套接字/
OS资源管理的技术,但这是一个完全正确的问题。如果您不释放特定端口,它将一直与您的应用程序关联,直到您的应用程序终止,然后操作系统将其回收。这是操作系统级别的功能,而不是JVM功能等。

另外,在创建DatagramSocket时,如果我仅提供端口或提供端口和地址,会有什么不同?

在某些时候,您必须提供您希望连接或绑定的Internet地址和端口或套接字。没有办法解决。

我正在创建一个程序来收集网络外的数据,因为数据会浮动并记录下来。我应该只使用本地地址吗?创建套接字时无法使用该地址导致我无法收集数据包?

我不确定您在这里要问什么,您是在谈论记录网络上的所有数据包,也就是嗅探器吗?这不仅需要简单的数据报编程。实际上,您必须在网络适配器级别注入自己,以截取离线读取的数据包。您正在谈论的内容仅允许您接收发送到正在侦听的特定端口的数据包。



 类似资料:
  • 我有一个关于JMS和Spring集成的问题。 我有3个队列,让我们称它们为QUEUE_SOURCE、QUEUE_TARGET和QUEUE_ERROR。DefaultMessageListenerContainer用于从队列源读取消息。 我已经为这些队列配置了JMS事务管理器。 当我从QUEUE_源读取消息,但将消息发布到QUEUE_目标时出错时,我可以看到在抛出异常之前,消息会重试几次,从而触发回

  • 问题内容: 我是一名新的golang开发人员,我想知道为什么需要在项目的根目录设置环境变量。 如果我同时从事多个项目,则每次都需要重新设置环境变量以指向不同的位置。 在我的设置中,我已设置为。这是我所有golang项目的通用目录。 只是为了澄清:将项目数据放入 如果(据我所知)全部用于安装第三方库,那么为我所有的项目提供一个目录并不安全,因此所有必需的第三方库都安装在同一lib目录中,并且每当我在

  • 问题内容: 我正在使用Spring 3和Hibernate 3.6开发Web应用程序。目前,我尝试了解Spring和Hibernate的缓存工作原理。我找到了一些有关使用Hibernate进行缓存的资源以及一些有关Spring的资源,现在我尝试将我的信息汇总在一起。我仍然对这两个框架都有一些疑问,如果有人可以回答或告诉我这里列出的事实是否正确,我将很高兴。 在大多数情况下,简短的回答(是/否)就足

  • 主要内容:1.多级缓存,2.为什么大厂在大表做水平分表时严禁使用自增主键,3.布隆过滤器应用,4.IP直连的问题以及如何解决,5.负载均衡器是什么/类型/策略,6.为何禁用外健约束,7.慢SQL,8.redis,9.锁,10.oom,11.如何解决幂等性操作,12.hashmap和hashtable得到区别,13.hashmap有哪些线程安全的方法,14.5种IO,15.wait和sleep区别,,,,,,,,,,1.多级缓存 1.客户端缓存 页面缓存,浏览器缓存,APP缓存 2.应用缓存 CD

  • 主要内容:Dubbo能做什么?,Dubbo的总体的调用过程,Dubbo 支持哪些协议,Dubbo中都用到哪些设计模式,Dubbo内置了哪几种服务容器,Dubbo 核心的配置有哪些,Dubbo有哪几种集群容错方案,默认是哪种?,Dubbo有哪几种负载均衡策略,默认是哪种,Dubbo默认使用的是什么通信框架,还有别的选择吗,Dubbo的注册中心有哪些,服务暴露的流程是怎么样的,服务引用的流程是怎么样的,,,,,,Dubbo能做什么? Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任

  • 本文向大家介绍探讨Ajax中的一些小问题,包括了探讨Ajax中的一些小问题的使用技巧和注意事项,需要的朋友参考一下 1.ajax跨域传递值是所需要的回传的类型为jsonp dataType 类型:String 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个