내가하고 싶은 것은 간단한 자바 오디오 스트리밍 서버를 만드는 것이다. 일을 단순하게 유지하려면 정적 인 MP3 파일이 될 것이지만 나는 이론이 옮겨 질 것이라고 확신한다. 클라이언트는 로컬 또는 인터넷을 통해 이루어질 수 있으며 서버와 통신하도록 프로그래밍 할 수있는 모든 장치 또는 컴퓨터가 될 수 있습니다.Java에서 오디오 스트리머 만들기 - 시작 위치
스트리밍/네트워킹 또는 서버/클라이언트와 관련된 내용을 프로그래밍 해 본적이 없으므로 새로운 것을 배우는 데 유용한 연습이 될 것이라고 생각했습니다. - 서버가 사용자가 의도 된 사용자인지 알 방법이 수행되는 방법, 클라이언트의
인증 : 내가 생각
고려할 사항이있다.
클라이언트에서 일종의 버퍼링이 발생합니다. 클라이언트가 버퍼에서 읽을 때 캐시 된 버퍼 파일에 파일 잠금이있을 가능성이 있으므로 단순히 파일의 새 세그먼트를 끝에 추가 할 수는 없습니다.
실제로 얼마나 많은 MP3 파일을 재생해야합니까? 선형 적이므로 첫 번째 x KB에는 음악 사운드의 첫 번째 y 초에 대한 모든 정보가 들어 있습니다.
파일을 어떤 크기로 분할합니까?
스트림에서 MP3 파일을 얼마나 멀리 봤는지 알 수 있습니까? 어떻게 처리 할 수 있을까요?
실제로 어떤 스트리밍 프로토콜을 사용해야합니까? 나는 일종의 HTTP 요청이 여기에 가장 좋을 것이라고 추측하고 있습니까? 그것은 80 이외의 포트를 통해 HTTP 요청을 할 수 있습니까?
합니까 자바는
- 가 그것을 가능 ... 신뢰할 수있는 전송을위한 붙박이 프로토콜이 있거나 핵심적 껄끄 러운 들어갈 등 ... 앞뒤로 승인으로 패킷을 전송 처리해야 할 트래픽을 암호화 하시겠습니까? 파일을 읽을 수는 없지만 모바일과 같은 저전력 장치가 부드러운 재생을 위해 충분히 빨리 해독 할 수는 없다.
나는 고려해야 할 더 많은 것들이 있다고 확신하지만, 나는 내 머리 꼭대기에서 생각할 수있는 것들이다.
나는 위의 모든 질문에 실제로 질문이 없다고 생각합니다. 더 큰 소리로 생각하니, 질문을하는 이유는 무엇입니까? 어디서부터 시작해야합니까? 재미있는 독서가 있습니까? 누구든지 위의 생각을 가지고 있습니까?
다시 말해서, 나는 "바퀴를 다시 발명"하는 것을보고 있으며, 내가 따라 갔을 때 이런 종류의 물건에 대해 배우고 싶었 기 때문에 지식을 다른 물건으로 옮길 수 있습니다.
충분히 확보? 나는 일종의 소켓 전송을 사용할 수 있다고 가정하고 있습니까? 이런 식으로하는 것의 단점은 무엇입니까? 당신의 응답을 주셔서 감사합니다. – Cheetah
http를 사용하지 않으려면 tcp 연결이 필요하며 사용자가 직접 프로토콜을 만들어야합니다 (클라이언트가 서버에 스트리밍을 시작하고 EoF를 명시 적으로 처리해야 함을 서버에 알려야 함) –
소리가납니다 훨씬 더 재미있는 (학습 관점에서). 그것은 내 자신의 버퍼링, 캐싱 및 조각화를해야한다는 것을 의미합니다 - 맞습니까? 이것은 당신이 언급 한 것과 같습니다 : http://download.oracle.com/javase/tutorial/networking/sockets/clientServer.html – Cheetah