1. 使用httplistener 建立监听遇到的问题(关闭监听然后重新创建一个监听)
1)端口已被侦听
2)对象没建立就被使用
2. 端口已被侦听的报错原因是listener关闭后,系统没有释放监听资源,需要调用listener.stop()关闭系统的端口监听;在cmd命令行中使用 netstat -an|findstr 18080 命令查看端口(18080)是否被监听。
3. 对象没建立就被使用的错误原因是,当一个正确的监听被建立后,操作系统会建立相关的资源,当我们调用 close()方法关闭资源后,想再次建立监听,但我们建立监听是需要系统创建资源的,当我们new一个httplistener时,可能系统资源因为时间或者其他原因没有建立完成,虽然我们能new 成功,但我们使用listener时是会报错的。
4. 个人的使用想法
1)将listener建立分为两种情况:监听资源已被创建时(监听已经成功了),我们使用stop()方法停止监听,然后修改监听信息后继续开始监听;监听资源没被创建(监听失败),我能使用close()方法关闭监听然后再new一个httplistener,使用正确的监听信息,创建一个能监听listener,如果没监听成功,系统是不会创建资源的,所以不用担心资源重新创建带来的问题。