机器视觉25

CSV(Comma-Separated Values)文件是一种用于存储表格数据的纯文本文件,其中数据由逗号分隔。CSV 文件通常用于在电子表格软件(如 Microsoft Excel)和数据库之间导入或导出数据。

CSV 文件的基本特点:
        1.简单性:CSV 文件仅包含纯文本,因此它们可以被各种软件和编程语言轻松读取和处理。
        2.逗号分隔:名字中包含“逗号”区分数据
        3.数据行:每行数据代表表格中的一行
        4.标题行、:文件的第一行可以包含列标题,标识每列数据的含义。
        5.扩展名:CSV 文件的常见扩展名是 .csv。

网口通信解析
网口通信,也称为以太网通信,是一种使用网络接口(如RJ-45接口)通过网线连接进行数据交换的通信方式。

一、网口通信的基本原理
网口通信基于TCP/IP协议,在网口通信中,数据被封装成数据包,通过网线在网络中进行传输。数据包中包含源IP地址、目的IP地址、端口号、数据长度和实际数据等信息。

网络7层协议架构图

科普|OSI七层网络协议 - 知乎

TCP/IP(Transmission Control Protocol/Internet Protocol)网络通讯协议,是Internet最基本的协议,由网络层的IP协议和传输层的TCP协议组成,定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

一、TCP/IP协议的组成
        TCP(传输控制协议):TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP连接中,双方必须首先建立连接,然后才能传输数据。TCP通过确认应答、重传机制和序号保证数据不丢失、无差错、不重复和按序到达。
        IP(互联网协议):IP是互联网层的主要协议,它负责将数据包从源主机传输到目的主机。IP地址是互联网中每台设备的唯一标识。
tcp通信机制
        Socket通信中的Tcp协议三次握手(建立连接)和四次挥手(断开连接)是建立和断开连接的过程。

1.三次握手:建立连接过程

        1. 客户端调用socket()函数创建一个套接字,并调用connect()函数向服务器发起连接请求。
        2.服务器端调用socket()函数创建一个套接字,并调用bind()函数绑定IP地址和端口号,然后调用listen()函数监听连接请求。
        3.  客户端发送一个SYN(同步数据包)包给服务器,表示请求建立连接。
        4.  服务器收到SYN包后,发送一个SYN-ACK(同步-确认)数据包)包给客户端,表示同意建立连接。
        5. 客户端收到SYN-ACK包后,发送一个ACK(确认数据包)包给服务器,表示连接建立成功。
2.四次挥手:关闭连接过程

        1.客户端调用close()函数关闭连接。
        2.客户端发送一个FIN包(结束数据包)给服务器,表示要关闭连接。
        3.服务器收到FIN包后,发送一个ACK包给客户端,表示收到了关闭请求。
        4.服务器调用close()函数关闭连接。
        5.服务器发送一个FIN包给客户端,表示服务器也要关闭连接。
        6.客户端收到FIN包后,发送一个ACK包给服务器,表示收到了关闭请求。

如何在编程中实现tcp通信
Socket可以支持不同的传输层协议(TCP或UDP),

Socket称为套接字(Socket)的编程接口,通过该接口可以创建、连接、发送和接收数据等操作。 总结  Socket 不是协议 而是一种编程接口(方法) 为了实现tcp等协议的通信

Socket通信中,有两个主要的角色:服务器和客户端。

服务器负责监听指定的端口,等待客户端的连接请求;而客户端则主动发起连接请求,与服务器建立连接。

socket实现通信在应用层面(代码层面)
大致需要完成以下几个步骤:
服务器端:
第一步:建立一个用于通信的Socket对象
第二步:使用bind绑定IP地址和端口号
第三步:使用listen监听客户端
第四步:使用accept中断程序直到连接上客户端
第五步:接收来自客户端的请求
第六步:返回客户端需要的数据
第七步:如果接收到客户端已关闭连接信息就关闭服务器端


客户端:
第一步:建立一个用于通信的Socket对象
第二步:根据指定的IP和端口connet服务器
第三步:连接成功后向服务器端发送数据请求
第四步:接收服务器返回的请求数据
第五步:如果还需要请求数据继续发送请求
第六步:如果不需要请求数据就关闭客户端并给服务器发送关闭连接信息

案例1:使用winform实现Socket通信

界面效果

启动双项目配置

d5864a91b4ac42fb9fd26cf8ff549b1c.png

配置启动项目 

14fb24dc1c1d428480223badb2be9c2a.png

服务器程序

1.开启服务器监听 等待客户端连接  连接后 发送心跳包

接收到客户端数据

54b59086e39746e3bc2b063e17064b69.png

心跳包

客户端程序

1.客户端连接服务器 并且接收服务器消息和心跳包

1fa61324c85644c286d99089e2b8e504.png

向服务器发送心跳包

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值