Kotlin 通过tcp端口发送简单消息

Kotlin 通过tcp端口发送简单消息,kotlin,tcp,Kotlin,Tcp,我真的很想通过tcp发送一条非常简单的消息,两个kotlin程序(服务器和客户端)相互通信,相互发送短字符串 我有一个非常简单的服务器代码: fun main(args:Array){ val服务器=服务器套接字(5000) println(“服务器正在端口${Server.localPort}上运行”) val socket=server.accept() 打印(“连接到客户端:+socket.inetAddress.toString()) val text=BufferedReader(In

我真的很想通过tcp发送一条非常简单的消息,两个kotlin程序(服务器和客户端)相互通信,相互发送短字符串

我有一个非常简单的服务器代码:

fun main(args:Array){
val服务器=服务器套接字(5000)
println(“服务器正在端口${Server.localPort}上运行”)
val socket=server.accept()
打印(“连接到客户端:+socket.inetAddress.toString())
val text=BufferedReader(InputStreamReader(socket.inputStream)).readLine()
}
这是给客户的:

fun main(args:Array){
val socket=socket(“localhost”,5000)
PrintWriter(socket.outputStream,true)。写入(“文本”)
}
我的想法是先运行服务器,然后运行客户机,然后从客户机向服务器发送一些消息(或者反过来)。我现在尝试从本教程()中获取当前的内容,但发现很难弄清楚该做什么


非常感谢您的帮助

以下是您可以做的:

服务器
fun服务器(){
val服务器=服务器套接字(9999)
val client=server.accept()
val output=PrintWriter(client.getOutputStream(),true)
val input=BufferedReader(InputStreamReader(client.inputStream))
output.println(“${input.readLine()}back”)
}
客户
fun客户端(){
val客户端=套接字(“127.0.0.1”,9999)
val output=PrintWriter(client.getOutputStream(),true)
val input=BufferedReader(InputStreamReader(client.inputStream))
println(“客户端发送[你好]”)
output.println(“Hello”)
println(“客户端接收[${input.readLine()}]”)
client.close()
}
一起跑 要同时运行两者,请执行以下操作:

fun main(){
线程{server()}.start()
客户()
}

客户端将运行发送消息到服务器,然后接收响应,程序将结束。

TCP流是否应该由行组成?您似乎在阅读行,但在编写对象的格式化表示。您的发送代码和接收代码必须在连接上使用的数据形式上达成一致,否则它们将彼此不兼容。是台词吗?串?编码对象?或者什么呢?目前任何东西都不能用为什么不使用KTor()呢?