Błąd przy odbieraniu pliku przez Sockety

0

Witam! Od 2 dni męczę się z wysłaniem pliku i jego odebraniem przez sockety gdy wysyłam plik z komputera na serwer dedykowany to zawsze sie wszystko sypie a gdy robie wszystko lokalnie NIE MA nawet najmniejszego problemu...

Błąd który się pojawia na serwerze gdy serwer jest włączony na dedyku z ovh:

Exception in thread "main" java.lang.NegativeArraySizeException
        at testserver.TestServer.main(TestServer.java:74)

Wiem ze chodzi tu ze liczba jest negatywna ale NIE MA prawa skoro lokalnie dziala bez najmniejszego błędu...

Kod dla Clienta:

Kod dla Servera:

Dziękuje za pomoc :)

0

Zamiast się męczyć odpal to pod debuggerem i zobacz co się dzieje.

0

Co to jest?

short packet_lenght = (short) (len[0] << 8 | len[1]);
byte[] packetData = new byte[packet_lenght];

Jeśli bajty w tablicy len będą ujemne (a mogą być), to próbujesz tworzyć tablicę o ujemnym rozmiarze.
(Negative number to liczba ujemna, a nie liczba negatywna).

0

Ale dlaczego one są ujemne? Lokalnie zawsze jest zawsze na plusie no ale sprawdzę to ;p

0

Sprawdziłem to ale wtedy po chwili wyswietla sie taki błąd:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10520
        at testserver.Packet.get(Packet.java:15)
        at testserver.Packet.getString(Packet.java:54)
        at testserver.PacketReader.handlePacket(PacketReader.java:16)
        at testserver.TestServer.main(TestServer.java:75)

A więc tak nie może być ;/
Jakieś pomysły?

1 użytkowników online, w tym zalogowanych: 0, gości: 1