Как использовать writeUTF() в python? (подключение сокета к Android Studio)

#python #android #sockets

#python #Android #сокеты

Вопрос:

 # server.py 
import socket
import logging
message = u"GET~CARDn"
size = len(message)
host = '----' #  ip
port = 9999            #  port


logger = logging.getLogger()
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler)

server_sock = socket.socket(socket.AF_INET)
server_sock.bind((host, port))
server_sock.listen(1)


print("waiting")
client_sock, addr = server_sock.accept()

print('Connected by', addr)
data = client_sock.recv(1024)
print(data.decode("utf-8"), len(data))


while True:
    sendData = input('>>>')
    client_sock.send(sendData.encode('utf-8'))
    logger.info("sendlog")


    recvData = client_sock.recv(1024)
    print('client :', recvData.decode('utf-8'))
    logger.info("recievelog")
  

Сначала я хочу извиниться за то, что плохо использую английский. Я обычно использую переводчик Google.

Верхний код — это мой server.py код.

И я использовал

   is = new DataInputStream(client.getInputStream());
  os = new DataOutputStream(client.getOutputStream());
  

и readUTF();, writeUTF(); в Android Studio.

проблема в том, что я могу получать сообщения на сервере python, но не могу в клиенте Android. Я искал его и знал, что readUTF() может читать только то, что написано в writeUTF(). Итак, я хочу получить некоторую помощь для подключения python и Android, отправки строкового сообщения друг другу. есть ли какой-нибудь хороший способ для этого?

Комментарии:

1. Если вы знаете разницу между writeUTF() и write, то адаптация вашего кода на python выполняется быстро.

2. Извините, но я этого не понял, я знаю только о том, что они обрабатывают string, int для каждого.

3. writeUTF — это то же самое, что и write, за исключением того, что он отправляет два начальных байта, указывающих длину следующей строки.