Socket编程这块儿还是比较重要的,记录一下:实现服务器端和客户端通信(客户端发送系统指令,如ipconfig等,服务器端执行该指令,然后将指令返回结果给客户端再传过去,设置一次最多直接收1024字节,如果一个文件大于1024字节,就先存储起来,等到全部接收完成再一次性打印出来),代码如下:

服务器端:

客户端:

粘包问题

  当两条.send()语句连着执行时,因为两条语句连着执行,所以有可能两天信息连在一起发出去,造成粘包,这是在两条.send()语句中间写一个time.sleep(0.5)
让他睡0.5秒,可以解决粘包问题,但是如果是那种实时数据,有会造成信息延迟,在很多情况下这是不被允许的.
  这时还有另外一个办法,就是在两次send之间插入一次.recv()语句,让服务器端再接收到客户端发来的第一次数据使立即向客户端返回一次确认,
客户端在收到确认后才会进行第二次发送,这样就解决了粘包问题.

最新文章

  1. Angular JS 学习之Bootstrap
  2. Oracle(创建序列)
  3. 批处理文件指定jre路径启动java桌面应用程序
  4. java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述
  5. uC/OS II原理分析及源码阅读(一)
  6. 基于zepto的插件之移动端无缝向上滚动并上下触摸滑动
  7. 备用帖子1Shell(Shell R语言)
  8. LApacheMP基础环境搭建
  9. jQuery无缝滚动插件
  10. Eclipse常用功能
  11. You don't seem to have 'make' or 'gmake' in your PATH
  12. Android Studio中配置及使用OpenCV示例
  13. 数值标记问题 离线+树状数组 HDU 3938 + HDU 3333
  14. Linux输入子系统(一) _驱动编码
  15. Nodejs进阶:crypto模块中你需要掌握的安全基础
  16. IDM使用入门
  17. 我的webstorm 使用总结
  18. linux 最为常用的命令
  19. Hdoj 2046.骨牌铺方格 题解
  20. Bootstrap -- 文件上传插件File Input的使用

热门文章

  1. 不可见类有抽象父类,spring配置子类bean,注入父类,aop就可以切父类的方法
  2. NET高性能IO
  3. D. Array Division
  4. [原]Maven项目编译后classes文件中没有.xml问题
  5. ASPCTJ
  6. 使用jstack分析解决进程死锁问题
  7. 7.Solution的Build、Rebuild和Clean
  8. filter配置多个url-pattern和排除个别servlet
  9. volley框架下发送和读取cookie
  10. 【虚拟机-可用性集】ARM 中可用性集使用的注意事项