1 问题
在Android activity里面Java socket服务器,然后关闭activity再打开activity开启服务的时候提示错误如下
java.net.BindException: Address already in use
很明显这个,IP和端口的的socket已经使用了,我们只需要在关闭activity的时候关闭serverSocket就行了。
2 解决办法
var serverSocket: ServerSocket? = nullinner class HttpServerThread : Runnable {var TAG = javaClass.namevar context : Context?= nullconstructor(context : Context){this.context = context}override fun run() {Log.i(TAG, "await start")try {//Android9.0以下开启了热点服务器的IP值是192.168.43.1,如果Android版本大于9.0 IP服务器地址会随机变serverSocket = ServerSocket(SocketContants.HTTP_SERVER_PORT)
// serverSocket = ServerSocket(SocketContants.HTTP_SERVER_PORT, 10, InetAddress.
//