Witam, piszę aplikację klient-server która będzie wysyłać pliki do servera. Mój problem polega na tym, że nie mogę wysyłać plików które ważą więcej niż 1460 bajtów. Kiedy wysyłam taki plik server odbiera tylko 1460 pierwszych bajtów. oto mój kod
klient wysyła:
public void sendToServer(File file) throws Exception
{
Log.i("======", "sendToServer==============");
OutputStream output = sk.getOutputStream();
FileInputStream fileInputStream = new FileInputStream(file);
byte[] buffer = new byte[sk.getSendBufferSize()];
int bytesRead = 0;
while((bytesRead = fileInputStream.read(buffer))>0)
{
output.write(buffer,0,bytesRead);
}
fileInputStream.close();
}
server odbiera:
public File odbierzPlik(String name) throws Exception
{
System.out.println("odbieram");
File file=null;
InputStream input = sk.getInputStream();
file = new File("C://protokolPliki/" + name);
FileOutputStream out = new FileOutputStream(file);
byte[] buffer = new byte[sk.getSendBufferSize()];
int bytesReceived = 0;
while((bytesReceived = input.read(buffer))>0) {
out.write(buffer,0,bytesReceived);
break;
}
return file;
}
Czy ktoś wie co robię źle? Googlowałem o tym trochę i myślę że może to mieć związek z MMS TCP które wynosi właśnie 1460 bajtów. Dzięki za wszelką pomoc.