当前位置:  技术问答>linux和unix

通过socket连接一次性发送大数据量的问题

    来源: 互联网  发布时间:2015-06-24

    本文导语:  服务器的socket(TCP)被设置成非阻塞方式,但是需要一次性发送300k-400k的数据给客户端,这样每次没有发送完全,函数就返回了,怎样才能发送完整的数据?? | 把缓冲设置大一些吧。 | ...

服务器的socket(TCP)被设置成非阻塞方式,但是需要一次性发送300k-400k的数据给客户端,这样每次没有发送完全,函数就返回了,怎样才能发送完整的数据??

|
把缓冲设置大一些吧。

|
可以把数据拆成大小小于8192的数据段,然后再发送,这样还安全,还不容易出错!

|
可以用 select(...) 来等待数据发送完成

|
发送前把socket设成阻塞方式, 发送完再设回来。

|
发送的时候不是返回发送的字节数吗,你可以继续从发送完的地方的后面进行发送,比如
发送了n个字节,那么下次发送缓冲设为sendbuff+n

    
 
 

您可能感兴趣的文章:

  • 同多个线程通过同一个socket发送数据,操作系统底层会同步每个发送操作吗
  • 数据包通过dev_queue_xmit发送出去,dev_queue_xmit返回值为0,但是对方收不到数据包 ,本机也抓不到发送出去的包
  • 通过短信发送LOG归类号码发送情况的shell脚本
  • 通过互联网发送短信 Esmska
  • vc通过socket发送数据给java的问题
  • linux下几个设备通过串口串行连接,如何协调各串口发送数据
  • 数据包进入网卡后如何通过TCPIP协议进行发送
  • mini2440如何通过串口发送字符串,急求
  • 如何通过其他网站发送短消息(比如新浪)?JSP页面提交,高分请教!!
  • 请问怎么通过Socket发送一个int数值?急,谢谢!!
  • PHP通过飞信平台发送短信 FetionPHP
  • 有什么软件可以通过网络把文件从windows发送到嵌入式机的linux
  • 通过Oracle发送Email的实现方法
  • Sendmail 已经配置,但无法通过客户机发送邮件。(在先等待)
  • 通过linux驱动接口读取串口来自另外一个CPU发送的数据,有几个疑问:
  • linux 通过SG_IO发送SCSI命令
  • 怎样监测我的机器通过网卡都发送了什么东西?而不是像sniffer等检测收到了什么东西?
  • python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
  • 如何把用jdbc查出的resultset结果集数据通过网络发送到另一台机器上(给100分)
  • c++实现发送http请求通过get方式获取网页源代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • 大家有多少web application是直接连接数据库的?又有多少是通过weblogic或websphere之类连接的?
  • 通过JDBC连接数据库,执行抄作后,关闭了连接,数据服务器端的进程还在,怎麽处理?
  • 那位哥们能举个通过jndi连接连接池的例子??多谢!!!
  • 请问通过纯jdbc能否联 sqlserver7.0,注意不是通过jdbc-odbc桥,如果能的话,driver在哪里下载?连接的语句怎么写?
  • 怎么直接通过JDBC连接oracle?
  • kjava能不能通过socket连接服务器
  • mysql主从连接失败,怎样通过binlog日志恢复呢?
  • 通过JdbcOdbcDriver连接Access出现“未发现数据源名称并且未指定默认驱动程序”
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 怎么通过主机名连接server机
  • 请教高手,通过ssh连接suse linux的三种方式是否可以修改?
  • 不想通过jdbc-odbc桥,连接数据库,该怎么做?
  • 通过JDBC能够连接access吗,不使用ODBC
  • 怎样在linux下建立一个PPP服务器,并在另一台机子上通过pppd来建立连接呀?
  • linux重启后无法通过ssh连接
  • linux下通过工具putty连接服务器,用批处理启动jboss后,如何使得关闭窗口而服务不停?
  • 怎样通过Ip地址连接Sql server 数据库?
  • vs2008可以通过sftp协议连接远端linux服务器吗
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 怎样通过Ip地址连接Sql server 数据库? iis7站长之家
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • linux下通过crond实现自动执行程序
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker commit命令保存对docker容器的修改


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3