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

在http.Server开始侦听时收到通知

墨阳羽
2023-03-14
问题内容

当我查看net / http服务器接口时,没有看到一种明显的方式来通知并在http.Server启动并 开始 侦听时作出反应:

ListenAndServe(":8080", nil)

直到服务器真正关闭后,该函数才返回。我还查看了服务器类型,但似乎没有什么可以让我把握这一时机。某些功能或频道会很棒,但我看不到任何东西。

有什么方法可以让我检测到该事件,还是我只需要“熟睡”一下以伪造它?


问题答案:

ListenAndServe是一个帮助程序函数,它打开一个侦听套接字,然后在该套接字上提供连接。直接在您的应用程序中编写代码以通知套接字何时打开:

l, err := net.Listen("tcp", ":8080")
if err != nil {
    // handle error
}

// Signal that server is open for business.

if err := http.Serve(l, rootHandler); err != nil {
    // handle error
}

如果信令步骤没有阻塞,则http.Serve将轻松消耗侦听套接字上的所有积压。



 类似资料:
  • 我在JMeter中有一个性能测试。我有一些SSH监听器,它们应该检索CPU和RAM的使用情况。我希望得到一个关于Jmeter在测试运行时收集侦听器值所使用的延迟的明确解释。用户是否可以设置延迟值?如果可以,Jmeter支持的最小值是多少。目前的数据收集监听器是有点随机的,我认为这是不好的。目前,我在结果中没有类似数量的条目,尽管在两个监听器中我有相同数量的命令。我试图将jmeter.propert

  • 问题内容: 在MySQL中是否有等效于PostgresQL的notify和listen?基本上,我需要在Java应用程序服务器中监听触发器。 问题答案: 不,还没有像这样的内置函数。您需要使用诸如“ read” 0/1之类的预制标志进行选择来“ ping”(每1-5秒)数据库。后 用read = 1更新它

  • 我正在尝试创建一个应用程序,使用新的Android服务来读取所有通知,也可以删除它们,但它并不起作用。在我的舱单上: 我有一个类NotificationListener扩展了NotificationListenerService我重写了两个方法OnNotificationPost(StatusBarNotification sbn)、onNotificationRemoved(StatusBarN

  • 问题内容: 在Go中,如何在服务器开始侦听后启动浏览器? 优选地,以最简单的方式。 到目前为止,我的代码非常笨拙: 问题答案: 打开侦听器,启动浏览器,然后进入服务器循环: 无需如其他答案所示进行轮询。如果在启动浏览器之前打开侦听套接字,则浏览器将连接。 ListenAndServe是一个便捷功能,可以打开套接字并调用Serve。此答案中的代码将这些步骤分开,因此可以在侦听开始之后但在对Serve

  • 我们有web服务(jaxws),它正在调用另一个web服务(aslo jaxws)。Jaxws客户端配置如下所示-- 正如您所看到的,我们有两个拦截器和一个故障侦听器。我们希望在这些拦截器、故障侦听器和web服务代码之间进行通信。正如SO线程中所述,我们使用cxf交换对象在web服务和拦截器之间进行通信。 我们的inFaultInterceptor代码如下所示-- } Web服务代码如下所示- 但

  • 我有两个屏幕..首先是闪屏,在这里我借助firebase.auth()检查用户是否已经存在。onAuthStateChanged侦听器。如果用户为空,它将转到另一个firebase.auth()的登录屏幕。onAuthStateChanged侦听器用于在电话验证后获取用户,如果用户之前未注册,则将用户移至UserDetails屏幕以获取更多用户信息,或者移至主屏幕..同样的检查也在闪屏上进行,以确