그러나 스트리밍되기 때문에 TCP가 패킷을 잃을 수 없다는 것을 알고 있습니다. 5 개의 "52"패킷이있는 스트림을 nodejs와 함께 보내려고합니다. 형식은 (1,52,1,52,1,52,1,52,1,52)이어야합니다. 여기서 1은 패킷의 길이입니다. 동일한 PC에서 C# console 응용 프로그램과 동일한 PC에서 동일한 스트림을 수신합니다. 로컬 네트워크에 Java 앱이 설치된 Android 기기. "1,52,1,52,1,52,1,52,1,52"TCP 스트림의 데이터 손실
하지만 자바의 출력은 다음과 같습니다 :
C 번호 출력은
"1,52,1 , 52,52,1,52,1,52 "
Nodejs 코드 :
b = new Buffer(1);
b.writeInt8(1,0);
this.sock.write(b);
this.sock.write(String.fromCharCode(event)); //event == 52
자바 코드 :
while(true)
{
int a = in.read(); //in is an instance of InputStream
if(a!= -1)Log.v(getTag(),""+a);
}
누구에게 무슨 문제가 있는지 알고 있습니까?
미리 감사드립니다.
/업데이트 : socket.bytesWritten은 서버 측에 없으므로 10을 반환합니다.
'sock' ('this.sock'의) 객체 유형은 무엇입니까? –
서버와 연결될 때 수신 된 소켓 객체입니다. net.createServer (function (socket)) –