kotlin - 如何从 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()
解决方案
我已经解决了,解决方法很简单,你只需要保证服务端和客户端使用相同的通信方式
客户 :
val input = DataInputStream(client.getInputStream())
id = input.readUTF()
服务器:
self.request.send(len(msg).to_bytes(2, byteorder='big'))
self.request.send(msg)
推荐阅读
- windows - 我可以从内存中运行 Windows 批处理脚本吗?
- asterisk - PHP AGI 脚本不插入数据库
- html - CSS 代码无法正常工作 它应该在 WordPress 标头中
- node.js - 如何构建一个用于在服务器中托管的 vue 和节点应用程序?
- angular - Angular Material mat-form-field 不呈现 css 样式
- javascript - 防止下拉菜单在移动设备上自动重新打开
- angular - 在服务中出现 Angular API 调用错误后向用户显示模板中的错误
- amazon-web-services - ECS服务不稳定
- python - Python:将多行输出存储在变量中
- for-loop - 循环计数器变量的批处理脚本未更新