здесь есть небольшая проблема.
Я работаю над многопользовательской игрой с flash и использую python для серверной части вещей. У меня работает сокетное соединение ... вроде, и довольно много работы над Python сделано, но я сталкиваюсь со странной проблемой.
Допустим, после входа в систему я отправляю клиенту некоторые данные, содержащие некоторую их информацию.
После чего я отправляю некоторые данные, чтобы назначить их комнате.
Эти данные не считываются в AS3 как две разные вещи, вместо этого, после readUTFBytes, они все в одной строке.
var str:String = event.currentTarget.readUTFBytes(event.currentTarget.bytesAvailable);
В python я определил методы для отправки данных, которые просто отправляют данные через transport.write (Twisted), и я получаю через событие данных сокета прогресса в сценарии действия. Есть идеи, что здесь может быть не так? Вот немного кода ...
if ( ! event.currentTarget.bytesAvailable > 0) {
return;
}
var str:String = event.currentTarget.readUTFBytes(event.currentTarget.bytesAvailable);
var Char1:String = str.charAt(0);
var Char2:String = str.charAt(1);
str = str.replace(Char1, "");
str = str.replace(Char2, "");
// Various messages
if (Char1 == "\x03") {
if (Char2 == "\x03") {
trace("Got ping thread");
}
else {
trace("x03 but no secondary prefix handled");
}
return;
}
Довольно неряшливо, я знаю, но я пытаюсь просто определить проблему.
Все данные поставляются с двумя префиксами, например, \ x02 и \ x09, чтобы я мог определить, что делать, затем большая часть данных в строке разделяется на \ x01 для получения значений.
Проблема, по сути, в том, что когда я должен получить данные / x08 / x08, я получу данные / x08 / x08 data / x05 / x03, когда это должны быть две разные вещи.