- 主题:如何自己开一个http服务器并通知别人来访问?
在 serve_forever() 之前,Python 的 socketserver 会调用 server_activate() 这个方法来 listen(),你可以在这个方法里面,自己手动调一下 listen(),把自己获得的服务器地址从这里发出去。
【 在 JulyClyde 的大作中提到: 】
: 需求:
: 我方运行一个webhook服务,接收其他合作方的通知消息
: 需要在本地启动一个http服务,并把监听网址通知给合作方,让合作方知道应该把消息发到哪儿
: ...................
--
FROM 183.253.147.*
不是继承 TcpServer,而是继承你现在使用的服务器的类型。比如 flask,就会有自己的 Server 类和 RequestHandler 类。
很多服务器,只实现了 RequestHandler,这时你确实是继承 TcpServer.
【 在 JulyClyde 的大作中提到: 】
: class BaseServer:
: Methods that may be overridden:
: - server_activate()
: ...................
--
FROM 120.41.25.*
在进入 serve_forever() 后,整个线程已经阻塞住了。既然是阻塞住了,这时候就没法跑任何 python 代码了,除非启动个新线程。
所以如果要向客户发出通知,得在 server_activate() 这个函数里面启动新线程,在新线程里面把自己的端口号发送给客户端。在发送端口号的时候,serve_forever() 也跑了起来,可以接受新连接。
【 在 JulyClyde 的大作中提到: 】
: 拜托你再读一遍我的提问啊
: 我问的是怎么在serve_forever *之后* 通知对方
--
FROM 120.37.23.*