Skip to content

Instantly share code, notes, and snippets.

@kyodgorbek
Last active November 1, 2020 14:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kyodgorbek/1c86d7a0a3c28319caade4a12d72f5e2 to your computer and use it in GitHub Desktop.
Save kyodgorbek/1c86d7a0a3c28319caade4a12d72f5e2 to your computer and use it in GitHub Desktop.
import android.os.Build
import android.os.Bundle
import android.os.StrictMode
import androidx.appcompat.app.AppCompatActivity
import io.ktor.network.selector.ActorSelectorManager
import io.ktor.network.sockets.aSocket
import io.ktor.network.sockets.openReadChannel
import io.ktor.network.sockets.openWriteChannel
import io.ktor.util.cio.write
import io.ktor.utils.io.readUTF8Line
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import java.net.InetSocketAddress
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val policy =
StrictMode.ThreadPolicy.Builder().permitAll().build()
StrictMode.setThreadPolicy(policy)
textview.setOnClickListener {
runBlocking {
val socket = aSocket(ActorSelectorManager(Dispatchers.IO)).tcp().connect(
InetSocketAddress("ios-test.printful.lv", 6666)
)
val input = socket.openReadChannel()
val output = socket.openWriteChannel(autoFlush = true)
try {
output.write("command:AUTHORIZE:email:kyodgorbek@gmail.com\r\n")
val response = input.readUTF8Line()
println("Server said: '$response'")
} catch (e: Throwable) {
e.printStackTrace()
socket.close()
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment