zoukankan      html  css  js  c++  java
  • 基于TCP通信的套接字

    基于tcp通信的套接字必须先启动服务器再去启动客户端去链接服务器

    客户端

    服务端

    这只是基于tcp通信的一个简单的套接字  只能进行一次的通信

     服务端                                                                                                 客户端

    这是能多次通信的套接字

     在阻塞前添加一个循环就能实现一个链接循环

    服务端

    客户端

    这是模拟ssh实现远程执行命令

     粘包问题

    二、两种情况下会发生粘包。

    1.发送数据时间间隔很短,数据了很小,会合到一起,产生粘包

    2.接收方不及时接收缓冲区的包,造成多个包接收(客户端发送了一段数据,服务端只收了一小部分,服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包)

    客户端

    服务端

    之前的ssh远程执行命令一直会有粘包问题存在 用struct模块能很好的解决粘包问题

    服务端

    客户端

  • 相关阅读:
    Linux 命令
    g++/gcc
    emacs lisp
    vim 快捷键
    emacs快捷键
    Valgrind 例子
    Valgrind
    gprof
    cppcheck
    gdb常用命令
  • 原文地址:https://www.cnblogs.com/layerluo/p/9581314.html
Copyright © 2011-2022 走看看