Racket未关闭TCP端口
我在Racket中编写了一个简单的HTTP echo服务器。当我从DrRacket中运行服务器,然后单击Stop按钮时,我的程序终止,但是正在使用的端口需要很长时间才能关闭。如果在终止程序后在终端中运行Racket未关闭TCP端口,racket,Racket,我在Racket中编写了一个简单的HTTP echo服务器。当我从DrRacket中运行服务器,然后单击Stop按钮时,我的程序终止,但是正在使用的端口需要很长时间才能关闭。如果在终止程序后在终端中运行lsof-I:,我看不到任何绑定到该端口的内容,但DrRacket不同意并拒绝让我重新启动程序,告诉我某些内容已绑定到该端口 这是Racket中的一个bug,还是我遗漏了什么?如果您直接使用tcp listen(这意味着您自己处理所有低级套接字,也手动处理HTTP),则需要使用重用?参数设置为\t
lsof-I:
,我看不到任何绑定到该端口的内容,但DrRacket不同意并拒绝让我重新启动程序,告诉我某些内容已绑定到该端口
这是Racket中的一个bug,还是我遗漏了什么?如果您直接使用
tcp listen
(这意味着您自己处理所有低级套接字,也手动处理HTTP),则需要使用重用?
参数设置为\t
来调用它
如果您正在使用
web服务器
模块,它已经将重用?
设置为#t
,因此它应该已经工作了。您使用什么代码启动web服务器?你看过吗。它描述了如何实现线程和保管器,以避免您遇到的这类问题。