commit 06/10/2025
This commit is contained in:
@@ -27,8 +27,8 @@ import kotlin.io.path.absolutePathString
|
||||
|
||||
@Suppress("unused")
|
||||
class TCP_Android_Command_Server {
|
||||
private var tcpserver: ServerSocket? = null
|
||||
private var job: Job? = null
|
||||
lateinit var tcpserver: ServerSocket
|
||||
lateinit var job: Job
|
||||
private val socketMap = mutableMapOf<String, Socket>()
|
||||
lateinit var logcb: Consumer<String>
|
||||
private val listUserLogin = mutableListOf<userLogin>()
|
||||
@@ -46,13 +46,13 @@ class TCP_Android_Command_Server {
|
||||
val tcp = ServerSocket(port)
|
||||
tcpserver = tcp
|
||||
job = CoroutineScope(Dispatchers.IO).launch {
|
||||
Logger.info { "TCP server started" }
|
||||
Logger.info { "TCP Android server started on port $port" }
|
||||
while (isActive) {
|
||||
if (tcpserver?.isClosed == true) break
|
||||
if (tcpserver.isClosed) break
|
||||
try {
|
||||
tcpserver?.accept().use { socket ->
|
||||
tcpserver.accept().use { socket ->
|
||||
{
|
||||
CoroutineScope(Dispatchers.Main).launch {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
if (socket != null) {
|
||||
// key is IP address only
|
||||
val key: String = socket.inetAddress.hostAddress
|
||||
@@ -416,20 +416,18 @@ class TCP_Android_Command_Server {
|
||||
*/
|
||||
fun StopTcpCommand(): Boolean {
|
||||
try {
|
||||
tcpserver?.close()
|
||||
tcpserver.close()
|
||||
runBlocking {
|
||||
socketMap.values.forEach {
|
||||
it.close()
|
||||
}
|
||||
socketMap.clear()
|
||||
job?.join()
|
||||
job.join()
|
||||
}
|
||||
Logger.info { "StopTcpCommand success" }
|
||||
return true
|
||||
} catch (e: Exception) {
|
||||
Logger.error { "Failed to StopTcpServer, Message : ${e.message}" }
|
||||
} finally {
|
||||
tcpserver = null
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ import java.util.function.Consumer
|
||||
|
||||
@Suppress("unused")
|
||||
class TCP_PC_Command_Server {
|
||||
private var tcpserver: ServerSocket? = null
|
||||
private var job: Job? = null
|
||||
lateinit var tcpserver: ServerSocket
|
||||
lateinit var job: Job
|
||||
private val socketMap = mutableMapOf<String, Socket>()
|
||||
|
||||
/**
|
||||
@@ -31,11 +31,11 @@ class TCP_PC_Command_Server {
|
||||
job = CoroutineScope(Dispatchers.IO).launch {
|
||||
Logger.info { "TCP server started" }
|
||||
while (isActive) {
|
||||
if (tcpserver?.isClosed == true) break
|
||||
if (tcpserver.isClosed) break
|
||||
try {
|
||||
tcpserver?.accept().use { socket ->
|
||||
tcpserver.accept().use { socket ->
|
||||
{
|
||||
CoroutineScope(Dispatchers.Main).launch {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
if (socket != null) {
|
||||
val key : String = socket.inetAddress.hostAddress+":"+socket.port
|
||||
socketMap[key] = socket
|
||||
@@ -81,20 +81,18 @@ class TCP_PC_Command_Server {
|
||||
*/
|
||||
fun StopTcpCommand(): Boolean {
|
||||
try {
|
||||
tcpserver?.close()
|
||||
tcpserver.close()
|
||||
runBlocking {
|
||||
socketMap.values.forEach {
|
||||
it.close()
|
||||
}
|
||||
socketMap.clear()
|
||||
job?.join()
|
||||
job.join()
|
||||
}
|
||||
Logger.info { "StopTcpCommand success" }
|
||||
return true
|
||||
} catch (e: Exception) {
|
||||
Logger.error { "Failed to StopTcpServer, Message : ${e.message}" }
|
||||
} finally {
|
||||
tcpserver = null
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user