Java REST服务器和视频流
我正在用jersey和android应用程序构建一个restful web服务器。服务器需要做的一件事是保存从安卓客户端上传的视频,并能够使用我的应用在其他安卓设备上观看视频流 我编写了这个小测试函数:Java REST服务器和视频流,java,rest,video,jersey,streaming,Java,Rest,Video,Jersey,Streaming,我正在用jersey和android应用程序构建一个restful web服务器。服务器需要做的一件事是保存从安卓客户端上传的视频,并能够使用我的应用在其他安卓设备上观看视频流 我编写了这个小测试函数: @GET @Path("video") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response video() { File file = new File("C:/Data/video.mp4"); return
@GET
@Path("video")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response video() {
File file = new File("C:/Data/video.mp4");
return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)
.build();
}
而且似乎是随机工作的。有时客户端只是加载了很长时间,我需要关闭应用程序。当我关闭时,会出现以下异常:
An I/O error has occurred while writing a response message entity to the container output stream.
这个错误让我认为,当连接速度非常慢时,比如3g而不是wiki,负载会花费很多时间,当我关闭应用程序时,连接会关闭,因此服务器无法在其上写入。所以我怀疑:
1) 流应该与UDP一起使用,但UDP没有握手,所以这种错误对我来说毫无意义。这是否意味着我正在使用tcp
2) 我真的在发送一个多部分文件吗?因为它似乎只是下载整个文件,然后开始播放
我最后的想法是:用rest做这件事值得吗?有任何外部服务可以为我存储和流式传输文件,也许可以添加一些诸如压缩之类的服务?如果不是,我该怎么做?你能给我举个例子吗
谢谢你的耐心,也对不起我的英语:D你应该使用流媒体服务器。像沃扎,可视局域网。。。