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.
//