java中webSocket发送图片文件数据非常慢

一、问题由来

目前在开发的这个小程序中有一个功能需要和Unity客户端进行互动操作,互动的大致流程为在微信小程序中点击一个操作,发送一个HTTP请求,

Java后台收到这个请求后,会给Unity客户端发送一条消息,并且附带图片数据。在本地进行测试的时候,发现一个问题,就是小程序收到服务器

的反馈信息很快,大约1秒左右。可是服务器给Unity客户端发送消息的时候却非常慢,等待了约7、8秒才收到服务端发送回来的消息,这完全达不

到某个操作需要快速响应的要求。

二、问题分析

问题出现后,我和同事一起开始分析原因,为什么会这么慢呢?那个同事也了解过游戏开发,比如斗地主,几个人在全国各地进行斗地主的操作,

那个响应可是很快的,可是为什么我们现在做的这个功能响应却这么慢呢?是不是由于数据量太大了呢?

三、解决方案

带着各种疑问,我们开始进行尝试,进行多次测试发现都有这个问题,并不是某一次才会出现这个问题。我们也尝试过不使用办公室的无线网络,

使用自己手机的网络,结果发现还是差不多,延迟6、7秒没什么区别。然后我们进行一种新的测试,就是在使用服务器给Unity发送socket消息的

时候,不发送2M左右的base64格式的图片数据,然后发现速度立马变快,只需1秒左右。这样问题解决,关于图片的使用,我们想其他办法解决了。这次

测试让我了解到,使用websocket传输数据时,如果附带发送图片数据,会拖慢数据传输的速率,至此问题解决。

java中webSocket发送图片文件数据非常慢

上一篇:linux的wget


下一篇:原创:Eclipse安装Eclipse Color Themes插件后,编辑器背景颜色被改变