编辑:tl;博士:
不要使用错误的选项打开套接字,这不太可能起作用!
原始问题:
我正在使用一个没有干净关闭机制的程序,它只是依靠被杀死来终止它。
它打开一个套接字,如下所示:
(void) setsockopt(h, SOL_SOCKET, (SO_KEEPALIVE | SO_REUSEADDR), (int *) & optval, sizeof( optval ));
重用地址选项似乎确实有效,因为最终套接字在程序终止后被释放。最终从几秒钟到一分钟不等。
这很乏味,因为我需要定期重新启动这个程序。使程序正确终止将是一项非常艰巨的工作,但是我想知道是否还有更多本地操作可以更早地释放套接字?