サーバはC#で書かれていて、私がC#で作ったクライアントで正しく動作しますが、今はアンドロイドクライアントを作ろうとしていますが、サーバは実際のメッセージを受け取れません。疑問符のここでTCPサーバーは????????実際のメッセージの代わりに
は、私がメッセージ "こんにちは"、サーバ・プリント「を送信する場合、これはAndroidのクライアント例えば
EditText et = (EditText) findViewById(R.id.EditText01);
String str = et.getText().toString()
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
あるサーバー
TcpListener listen = new TcpListener(IPAddress.Any, 1200);
TcpClient client;
listen.Start();
client = listen.AcceptTcpClient();
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[client.ReceiveBufferSize];
int data = stream.Read(buffer, 0, client.ReceiveBufferSize);
string message = Encoding.Unicode.GetString(buffer, 0, data);
Console.WriteLine(message);
ある???????? ??? "そしてそれは私もこのようなさまざまな方法で試みたが、結果は同じである私は、送信するすべてのメッセージ、だけでも、1文字
のために同じことを起こる:
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
out.writeBytes(str);
エンコードの問題のようです。サーバー上でエンコードが設定されていることを確認してください –
ニキータとはどういう意味ですか?私はPrintStream out = new PrintStream(socket.getOutputStream())でAndroidクライアントを変更しようとしました。 でも、私はまだ同じエラーが発生します – Alessandro
'String str = et.getText()。toString()'。定義済みの文字列を使用する方が効果的です。送信されたバイト数と受信されたバイト数を教えてください。 – greenapps