java NIO mizerii

4 отговора 177 прегледа
#1

java NIO mizerii

имам страхотни проблеми с този пакет под линукс ... Ако използвам сокети от SocketChannel.socket() и се опитам да read() от тях независимо дали са блокиращи или не те ми връщат signed байтове, въпреки че в документацията изрично пише че стойностите са от 0 до 255.

Другия голям проблем е че като регистрирам SocketChannel да слуша за SelectionKey.OP_READ то селектора ми влиза в безкраен цикъл без изобщо да има никакъв трафик.

Някой знае ли нещо по въпроса? Къде мога да се оплача?

Отговор
в отговор на purist #2

Re: java NIO mizerii

>>те ми връщат signed байтове, въпреки че в документацията изрично пише
>>че стойностите са от 0 до 255.

а дали пък дебъгера или форматиращото чудо дето ти показва байтовете не знае, че са unsigned? нали се сещаш, че всеки unsigned байт със стойност от 128 до 255 може да се интерпретира спокойно като отрицателен signed байт

за втория проблем не мога да помогна. не съм барал пакета

ein heller Schein am Firmament
Отговор
в отговор на purist #3

Re: java NIO mizerii

Ми то под Линукс или не, и какъвто и пакет да ползваш, не виждам начин да получиш unsigned byte в java-та. Просто трябва да маскираш със 0xff за да се интерпретират правилно стойностите от 128 до 255 !

Отговор
в отговор на Meндeлeeв #4

Re: java NIO mizerii

и за двата проблеми са виновни сън че наемат евтина работна рък от индия. В старите пакети маскирането става автоматично, в този са забравили.

А за втория проблем се оказа че селектора гърми когато се затвори сокета от другата страна - ама толкова ли ги мързи тия индийци да проверяват за тея работи?

Отговор
в отговор на purist #5

Re: java NIO mizerii

ми нали за това банда американци съди сън в момента :) за изнасянето към индия

ко разправям де :) все едно не четем всички слашдот

тия класове минавали ли са джава къмюнити процес-а или са партизански?

ein heller Schein am Firmament
Отговор