#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, за исключением того, что он отправляет два начальных байта, указывающих длину следующей строки.