Socket编程缓冲区

Scoket缓冲区必须在连接之前去创建:缓冲区大小需要根据具体情况进行设置,一般要低于64K(TCP能够指定的最大负重载数据量,TCP的窗口大小是由16bit来确定的),增大缓冲区可以增大网络I/O的性能,而减少缓冲区有助于减少传入数据的backlog(就是缓冲长度,因此提高响应速度)。对于Socket和SeverSocket如果需要指定缓冲区大小,必须在连接之前完成缓冲区的设定。

这里的缓冲区大小在android系统中不一定是最大低于64K,因为测试了一下,我在传输camera的预览数据的时候,

默认客户端的sendbuffersize的大小是524288,我设置他为10Mb的时候再去获取一下他的sendbuffersize得到来的是4Mb的,所以最大的为4Mb

默认服务器的receiveBufferSize的代销是110208,。


代码如下:

Socket socket =newSocket();

//输出缓冲区大小

System.out.println(socket.getSendBufferSize());

System.out.println(socket.getReceiveBufferSize());

//重置缓冲区大小

socket.setSendBufferSize(1024*32);

socket.setReceiveBufferSize(1024*32);

//再次输出缓冲区大小

System.out.println(socket.getSendBufferSize());

System.out.println(socket.getReceiveBufferSize());

详情可参考:http://blog.sina.com.cn/s/blog_616e189f0100s3px.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 网络编程----TCPNo24 【 public class Server { public static...
    征程_Journey阅读 5,090评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,710评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,955评论 0 62
  • 一 、Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 Socket。S...
    空白Null阅读 5,781评论 1 9
  • 思念是一味慢性毒药,无色无味,无形无迹,却蚀人魂魄,毁人心志。 不要思念,不要沉浸过往,要锐意进取,悲喜着当下的悲...
    菡雨之恋1阅读 3,114评论 2 1

友情链接更多精彩内容