Java
에 클라이언트 - 서버 응용 프로그램을 쓰고 있습니다.Java에서 데이터 형식을 무시하는 데이터 스트림을 읽는 방법
는 클라이언트가
- 요청 라인 등록 노드에 헤더 행의 수를 HTTP 형식의 메시지를 보내
- 빈 줄
- 과 : 절차는 다음과 같습니다 몸.
- (ASCII 텍스트)
등록 노드는 서버와 비슷한 형식의 메시지를 보냅니다.
클라이언트와 서버는 대화 할 수 있습니다 (SIP와 유사).
는 지금, 나는 이미 클라이언트와 서버의 소켓을 만들었 는데도 입력 및 출력 데이터의 DataInputStream과 DataOutputStream 정렬을 사용하려는 경우, 나는 또한의 DataInputStream에서이 외에도 readDouble 같은 방법 때문에 데이터의 유형을 결정해야 .
나는 어떻게 해야할지 모르겠다.
죄송합니다. 내 설명이 약간 모호한 경우 여기에서 전송할 수있는 몇 가지 샘플 메시지입니다.
REGISTER [email protected] SIPL/1.0CRLF
To: [email protected]
From: [email protected]
Call-ID: a74fbCRLF
CSeq: 0CRLF
Expires: 200CRLF
Contact: 74.125.226.161:20132CRLF
CRLF
SIPL/1.0 200 okCRLF
To: [email protected]
From: 74.125.226.161:20300CRLF
Call-ID: 9934bcd2CRLF
CSeq: 10CRLF
Content-Length: 21CRLF
Contact: 74.125.226.161:20305CRLF
CRLF
file=foo
characters=10
정말 적용 해주십시오.
모든 것이 HTTP 헤더와 ASCII 텍스트 인 경우 왜 double과 같은 유형을 처리하려고합니까? 아마도 (InputStreamReader를 통해) 리더를 사용하는 것이 더 적절할 것입니까? – helderdarocha
'DataInputStream'의'.readDouble()'은 double의 _binary 표현으로 기대되는 8 바이트를 읽습니다; 귀하의 덤프 주어진, 이건 당신이 원하는 아니에요 ... – fge
그냥 데이터 스트림 입력에 대한 예제를 설정합니다. 그렇다면이 데이터를 입력하고 출력하는 가장 좋은 방법은 무엇입니까? 아직도 데이터 스트림? 또는 scanner, printwriter 등의 다른 것? @@@@@@@@@@@@@@ – ChesterL