-3
PCとAndroidの間でブルートゥースを使ってデータ転送ができます。しかし、今私は約80キロバイトのサイズの画像ファイルを送信したい。画像を送信すると、その一部だけが転送されますが、 は完全に転送されません。誰もそれを達成する方法を知っていますか?私はTCPを使用しており、C#プラットフォームで作業しています。PCからAndroidでC#を使って画像を送る方法
string fileName = "send.png";
string filePath = @"C:\Users\Asus 53s\Desktop\"; //path
byte[] fileNameByte = Encoding.ASCII.GetBytes(fileName);
byte[] fileData = File.ReadAllBytes(filePath + fileName);
byte[] clientData = new byte[4 + fileNameByte.Length + fileData.Length];
byte[] fileNameLen = BitConverter.GetBytes(fileNameByte.Length);
fileNameLen.CopyTo(clientData,0);
fileNameByte.CopyTo(clientData,4);
fileData.CopyTo(clientData,4+fileNameByte.Length);
sendMessage(clientData);
}
public Boolean sendMessage(byte[] msg)
{
{
if (!msg.Equals(""))
{
UTF8Encoding encoder = new UTF8Encoding();
NetworkStream stream = me.GetStream();
stream.Write(encoder.GetBytes(msg + "\n"), 0, (msg).Length);
stream.Flush();
}
}
誰もが何が間違っているのかも知れないと思いますか? – Lloyd
申し訳ありませんが、私は今使用しているコードを貼り付けました。 – ragz
受信するイメージの量。小さな塊で送る必要があるかもしれません。あなたのコードがうまくいかない理由を理解するために何をしましたか?ブルートゥースのリビジョンによっては、かなり信頼できない場合があります。 –