首页 > 解决方案 > 如何从 python (socketserver) 中的服务器接收 kotlin 中的信息

问题描述

服务器我已经尝试了几乎所有方法来从 python 接收文本我不知道问题来自客户端还是服务器

          try:
              llamadacod = self.request.recv(1024)
              llamada = self.decode(llamadacod)
              print(f"{color.A}{llamada}")
              time.sleep(0.1)
              if llamada == "conectado":
                  msg = "Hello"
                  msgcod = self.encode(msg)
                  print(f"{color.G}{msg}")
                  self.request.send(msgcod)

客户

      val thread = Thread(Runnable {
          try{
              val client = Socket("localHost",25565)
              client.setReceiveBufferSize(1024)
              client.outputStream.write("conectado".toByteArray())
              val text = InputStreamReader(client.getInputStream())
              recibir = text.toString()
              client.outputStream.write("Client_desconect".toByteArray())
              client.close()


标签: kotlin

解决方案


我已经解决了,解决方法很简单,你只需要保证服务端和客户端使用相同的通信方式

客户 :

val input = DataInputStream(client.getInputStream())
            id = input.readUTF()

服务器:

self.request.send(len(msg).to_bytes(2, byteorder='big'))
self.request.send(msg)

推荐阅读