UTF-8 文字列を C# TCP サーバーに送信する Java クライアントがあります。DataOutputStream を使用して文字列を送信しています。コードは次のようになります。
public void sendUTF8String(String ar) {
if (socket.isConnected()) {
try {
dataOutputStream.write(ar.getBytes(Charset.forName("UTF-8")));
dataOutputStream.flush();
} catch (IOException e) {
handleException(e);
}
}
}
問題は、フラッシュが正しく機能していないように見えることです。互いに近い 2 つの文字列を送信すると、サーバーは両方の文字列を含むメッセージを 1 つだけ受信します。呼び出しの間に Thread.sleep(1000) を実行すると、すべてが機能しますが、これは明らかに解決策ではありません。私は何が欠けていますか?