美文网首页
Socket编程缓冲区

Socket编程缓冲区

作者: 这个名字也有宇 | 来源:发表于2016-12-02 17:21 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Socket编程缓冲区

          本文链接:https://www.haomeiwen.com/subject/ywrqmttx.html