socket是网络通信套接字。主要体现在读与写方面。 ( 阻塞读)

C版本:

int ReadFile(int nFile, void * pData, int * pSize)
{int nLeft, nRead;char *pcData = pData;ASSERT(pData != NULL && pSize != NULL);nLeft = *pSize;while (nLeft > 0){if ((nRead = read(nFile, pcData, nLeft)) < 0){if (errno != EINTR)ASSERT(0);nRead = 0;}else if (nRead == 0)break;nLeft -= nRead;pcData += nRead;}*pSize = *pSize - nLeft;return 0;
}
int WriteFile(int nFile, void* pData, int nSize)
{int nLeft = nSize, nWrite;const char *pcData = pData;ASSERT(pData != NULL);while (nLeft > 0){if ((nWrite = write(nFile, pcData, nLeft)) <= 0){if (errno != EINTR)ASSERT(0);nWrite = 0;}nLeft -= nWrite;pcData += nWrite;}return 0;
}

JAVA版本:

 public static String sendSocket(String ip, int port, String param) {Socket socket = null;String rspStr = null;try {String reqStr = String.format("%04d%s", param.length(), param);LOGGER.info("发送数据:" + reqStr);socket = new Socket(ip, port);OutputStream outPutStream = socket.getOutputStream();outPutStream.write(reqStr.getBytes());outPutStream.flush();socket.setSoTimeout(60*1000);  //设置读超时时间 毫秒InputStream inputStream = socket.getInputStream();//4字节长度域byte[] lenbuf = new byte[4];inputStream.read(lenbuf);int count = Integer.valueOf(new String(lenbuf));byte[] buf = new byte[count];LOGGER.info("count====" + count);//内容域int readCount = 0;while (readCount < count) {readCount += inputStream.read(buf, readCount, count - readCount);}rspStr = new String(buf);LOGGER.info("收到响应" + rspStr);socket.close();return rspStr;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();LOGGER.error("异常出错", e);} finally {if (socket != null) {try {socket.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();LOGGER.error("异常出错", e);}}}return rspStr;}
  • java读取内容时, 内容很多时,低层并不会一次全都读出,需要进行多次读。
  • 参考:应用 http://blog.csdn.net/zhuxiaoping54532/article/details/62886506
  • 参考:应用 http://blog.csdn.net/xuehanlin/article/details/8011321
  • 参考: socket 说明 http://blog.csdn.net/sureyonder/article/details/5633647

socket 读、写字节流数据相关推荐

  1. Python Socket请求网站获取数据

     Python Socket请求网站获取数据 ---阻塞 I/O     ->收快递,快递如果不到,就干不了其他的活 ---非阻塞I/0 ->收快递,不断的去问,有没有送到,有没有送到,. ...

  2. getprivateprofilestring读不到数据_Tomcat NIO(11)请求数据读取

    在上一篇文章里我们主要介绍了 tomcat io 线程中涉及到的主要核心类,包括 AbstractProcessorLight,Http11Processor,CoyoteAdapter,这里主要介绍 ...

  3. php socket 多次发送,php模拟socket 多次发送数据的实现方法

    php模拟socket 多次发送数据的实现 方法 表四:Socket函数 函数名描述 socket_accept() 接受一个Socket连接 socket_bind() 把socket绑定在一个IP ...

  4. 一文读懂大数据平台——写给大数据开发初学者的话!

     一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...

  5. 一纸读懂另类数据 | 未央研究

    一纸读懂另类数据 | 未央研究 未央研究 清华大学五道口金融学院 今天 什么是另类数据? 1.定义 另类数据(Alternative Data)是不同于传统的交易所披露.公司公告披露的新数据,是有利于 ...

  6. Opencv使用imread函数时,读到的数据为空

    问题描述:使用opencv的imread函数时,读到的数据为空. 程序: Mat img;string namepic="street.png";img = imread(name ...

  7. Android客户端 和 pc服务器 建立socket连接并发送数据

    服务器使用java代码 1.服务端需要创建一个ServerSocket(port) 2.port(端口) 地址范围在0~65535请使用1024以上的端口,尽量偏大使用,否则可能和你主机上的其他应用程 ...

  8. 【图解】九张图带你读懂大数据医疗

    文章讲的是[图解]九张图带你读懂大数据医疗,互联网大框架的结构下,互联网+医疗的个性化服务,能给医疗保健工作者和消费者带来哪些真正的福利呢,首先可以提高效益减少废物.增强了预防传染病的能力.对于个人公 ...

  9. 《一本书读懂大数据营销 玩透大数据营销 创造网络营销奇迹》pdf下载 百度云

    <一本书读懂大数据营销  玩透大数据营销  创造网络营销奇迹>pdf下载请到文末! 在使用低对比度光源的摄影作品中,辣椒的阴影不再是清晰可见的,阴影的线条也不再"生硬" ...

  10. USBHID-BUS Hound能抓到数据但上位机读不到数据

    调试USBHID设备的时候,遇到一个问题,BUSHound能正确抓到下位机上传的的数据,但是使用其他上位机却读不到数据,甚至会崩溃. 当然,自然而然地怀疑有可能是上位机的问题,可靠的排查方法当然是要排 ...

最新文章

  1. qt 控件 背景色 透明 除去边框
  2. Spring Data JPA(官方文档翻译)
  3. 鸿蒙和安卓实际体验,鸿蒙2.0,你收到推送了么?告诉你实际体验!
  4. 农产品流通信息化及农超对接体系的现状
  5. 如何精确评估开发时间的 4 个小套路?
  6. H5+JS实现《Just Do 8》游戏源码分享
  7. CentOS 7 下的 Firewall
  8. server2008密码不满足密码策略的要求,检查最小密码长度、密码复杂性和密码历史的要求”的解决办法...
  9. 【Windows】XShell中使用小键盘和ALT键(作Meta键),使BackSpace正常
  10. 通向码农的道路(enet开源翻译计划 二)
  11. VMWare学习总结(1)——Centos7安装完毕后无法联网的解决方法
  12. 简单的SQL语句 DDL
  13. win11如何下载游戏版 Windows11下载游戏版的步骤方法
  14. 中国历史上成功的两人合作, 改进, 提高的例子
  15. 重磅开源!一款引入实时语音与声纹识别的网络辩论系统!
  16. 部署Python的框架下的web app的详细教程
  17. MOS管和三级管基础知识总结
  18. golang学习之negroni/gizp源码分析
  19. c++可视化 横向打印二叉树(连线、规整)
  20. small rtos51学习资料收集

热门文章

  1. java程序的结构与类型实验报告_20172301 《Java软件结构与数据结构》实验三报告...
  2. 【CSAPP】二进制拆弹实验
  3. 基于人工智能的搜索引擎优化软件-市场现状及未来发展趋势
  4. 压缩文件并删除源文件
  5. 集合竞价与连续竞价02
  6. smartbi问题_SAP BO的五大尴尬,Smartbi就是HANA用户的“菜”
  7. SmartBI入门(二)配置SmartBI
  8. 数据库系统概论(第5版)王珊 详细知识清单 期末复习速成 考前冲刺 面试——(第一篇 基础篇)
  9. 系统安装-U盘安装Windows XP SP3纯净版简述
  10. Python12306自动抢票下单,五一旅游回家就选Python