NSStream を介してサーバーに送信されるデータ パケットを作成しています。2 つのデータを '§' (ASCII コード 167) で区切ろうとしています。これがサーバーの構築方法であるため、これらの境界内にとどまるようにする必要があります...
unichar asciiChar = 167; //yields @"§"
[self setSepString:[NSString stringWithCharacters:&asciiChar length:1]];
sendData=[NSString stringWithFormat:@"USER User%@Pass", sepString];
NSLog(sendData);
const uint8_t *rawString=(const uint8_t *)[sendData UTF8String];
[oStream write:rawString maxLength:[sendData length]];
したがって、最終的な結果は次のようになります..そして、sendData が最初に構築されたときです:
USER User§Pass
ただし、サーバー側で受信すると、次のようになります。
//not a direct copy and paste. The 'mystery character' may not be exact
USER UserˤPas
...区切り文字列の長さが 2 になり、最後の文字がコマンドから切り取られています。これはUTF8変換が原因だと思います。
誰かが私のためにこれに光を当てることができますか?
どんな助けでも大歓迎です!