android用socket发包为什么经常是几次发送数据,系统自动组合一起发送出去?实时性很差啊。。。

android端用out.println发送,比如我发送了三次,但是PC只收到一次,包括了android三次发送的内容,从抓包来看,应该是android那边把多次发送的比较少的内容组合成了一个包发送的,有没有办法不让它组包,给我实时发出去就行了,感觉这个是画蛇添足啊,你说缺省这样搞让人很不爽啊,代码(部分)如下:
out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(Remote.getOutputStream())),false);
out.println(Msg);
out.flush();
out.close();

是不是还有其他接口可以实时发送?有知道的麻烦告知一下,谢谢

第1个回答  2013-06-07
一般flush后就算是一次发送了,你可以打个断点看看是否执行完了,先发送一次,多等一下,看看服务器能收到不能,能的话就没问题,说明是网速或其他延迟的原因
第2个回答  2016-05-06
楼主搞明白这个问题没,

android用socket发包为什么经常是几次发送数据,系统自动组合一起发送出...
一般flush后就算是一次发送了,你可以打个断点看看是否执行完了,先发送一次,多等一下,看看服务器能收到不能,能的话就没问题,说明是网速或其他延迟的原因

为什么Android上socket客户端往服务端发送数据总要多发几次服务器才能...
但UDP包有原路返回的特点,特别适合QQ这种的即时聊天工具。你用TCP试试,不会丢失包的。

android socket有几种方法
\/\/客户端socket在接收数据时,有两种超时:1.连接服务器超时,即连接超时;2.连接服务器成功后,接收服务器数据超时,即接收超时 \/\/*设置socket 读取数据流的超时时间 socket.setSoTimeout(5000);\/\/发送数据包,默认为false,即客户端发送数据采用Nagle算法;\/\/但是对于实时交互性高的程序,建议其改为...

android MediaRecorder使用LocalSocket来获取实时视频数据
通过使用LocalSocket获取到的实时的视频数据,数据编码为h264,只需保存在本地,哪位有详细跑得起来的代码? 展开  我来答 分享 微信扫一扫 新浪微博 QQ空间 举报 浏览15 次 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 android local socket mediarecorder 视频 搜索资...

android socket用TCP方式client端怎么监听服务器发送来的数据
服务器端就是需要一个循环不停的接收,这样才能保证服务器能一直监听客户端传过来的数据 你这是同步的,如果用异步socket的话,BeginReceive里面注册了一个回调函数,在回调里面再次调用BeginReceive就可以一直监听了

C#消息推送给android手机系统
C#消息推送给android手机系统的方法如下:1、定期查询:间隔特定时间查询数据库,有新消息时显示。优点:实现起来简单;缺点:实时性不够好,对于移动客户端耗电量太大。2、通过socket推送:建立一个长连接,一有新消息就发送给客户端。3、通过短息推送:这个一般有人卖短信发送接口的,但是比较费钱,所以...

android开发,UDP发送失败。ip,端口都没问题,就send(包)的时候报异常...
解决问题的关键:第一,只建立一个socket用来收发数据,每次点击连接时新建,中间不在新建或close同一端口的socket直到点击断开,这样PC端服务程序解析出的端口就在断开前不会变了,这可以解决前一段提到的两个问题。第二,PC端服务程序要具有解析功能,最好用我提供的。顺带提一下,如果同一个端口的...

android socket 编程中,本机IP与虚拟机IP分别是多少?
使用基于TCP协议的Socket 一个客户端要发起一次通信,首先必须知道运行服务器端的主机IP地址。然后由网络基础设施利用目标地址,将客户端发送的信息传递到正确的主机上,在Java中,地址可以由一个字符串来定义,这个字符串可以使数字型的地址(比如192.168.1.1),也可以是主机名(example.com)。在Java...

android app消息推送时怎么打开手机系统设置里添加权限
C#消息推送给android手机系统 C#消息推送给android手机系统的方法为: 1、定期查询:间隔特定时间查询数据库,有新消息时显示。优点:实现起来简单;缺点:实时性不够好,对于移动客户端耗电量太大。 2、通过socket推送:建立一个长连接,一有新消息就发送给客户端。在局域网内没问题,但是跨网时客户...

C#编写的socket服务器如何发数据给android手机
以下是android手机上发送文件名并且得到文件大小的代码Java code \/\/ 向服务器提出下载请求,返回下载文件的大小 private long request(String fileName, String password) throws IOException { \/\/ 获取socket的输入流并包装成DataInputStream DataInputStream in = new DataInputStream(socket.getInputStream(...

相似回答