草庐IT

TCP通信

全部标签

基于udp协议的网络通信(windows客户端版+简易聊天室版),重定向到终端

目录和windows通信引入思路 WSADATA代码运行情况简单的聊天室思路重定向代码terminal.hpp--重定向函数服务端客户端运行情况和windows通信引入linux和windows都需要联网,虽然他们系统设计不同,但网络部分一定是相同的,所以套接字也是一样的这里我们只需要写出windows风格的客户端即可,服务端仍然在linux上跑当然,除去套接字的部分,他们使用的接口和规则肯定是有区别的思路 套接字的部分不变,处理一下头尾即可首先要引入winsock2.h头文件,并引入库文件定义一个WSADATA结构并初始化(不同版本,看到的接口+底层代码也不同) WSADATA用于在Wind

STM32使用SPI通信时的一些常见问题及解决方法(主,从)

    最近在做一个多MCU的项目时,MCU之间的数据传输使用了SPI通信,在做从机时遇到了一些“疑难杂症”,研究了半天,总算是把故障排除了,就又总结了一下SPI常遇到的几种问题写出来整理一下。目录一、SPI简介: 二、常见问题:三、疑难杂症:Q1:使用的HAL库,先开从机,然后再给主机上电,通信正常,但是同时上电,即便是给主机加了延时都通信异常。Q2:使用的DMA收发,单独测试一切正常,但是只要跟其他DMA同时使用就死机四、SPI的稳定性优化:一、SPI简介:    SPI是一种高速,全双工的串行通信协议,由Motorola首先提出,其通信速率可轻松超过10Mbps(详见文章:STM32初学

STM32+W5500实现以太网通信

STM32系列32位微控制器基于Arm®Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。本例采用STM32作为MCU。W5500是一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统提供了更加简洁的互联网方案。W5500集成了TCP/IP协议栈,10/100M以太网数据链路层(MAC)以及物理层(PHY)。全硬件实现的TCP/IP协议栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP以及PPPoE协议。W5500内嵌32K字节片上缓存以供以太

IIC通信为什么使用开漏输出+上拉电阻的模式

目录前言一、什么是开漏输出和推挽输出推挽输出和开漏输出二、开漏和推挽的区别三、开漏输出上下拉电阻应用总结前言最近遇到技术群里有小伙伴在问为什么IIC通信需要挂上拉电阻,查阅了一些资料做一个小结留作备用。方便后面复习。一、什么是开漏输出和推挽输出推挽输出和开漏输出 推挽输出(Push-PullOutput)是由两个MOS或者三极管受到互补控制信号的控制,两个管子始终处在一个导通另一个截止的状态;输入逻辑1,则P-MOS激活,输出为高电平;图1;输入逻辑0,则N-MOS激活,输出为低电平;图2;                              图1                    

TCP面试问题集锦

1.TCP三次握手过程?目的是同步连接双方的序列号和确认号,并交换TCP窗口。第一次握手,客户端发送(seq=x),客户端进入SYN_SEND状态;第二次握手,服务端响应(Seq=y,Ack=x+1),服务器端就进入SYN_RCV状态;第三次握手,客户端收到服务端的确认后,发送(Ack=y+1),客户端进入ESTABLISHED状态。当服务器端接收到这个包时,也进入ESTABLISHED状态;2.为什么是三次握手,而不是两次或四次?如果只有两次握手,那么服务端向客户端发送 SYN/ACK 报文后,就会认为连接建立。但是如果客户端没有收到报文,那么客户端是没有建立连接的,这就导致服务端会浪费资源

java - 两个 JavaFx Controller 之间的通信

我制作了一个Controller和View结构(fxml)以尽可能多地分离我的代码,我想知道如何在2个Controller之间进行通信。我的意思是,一个Controller必须调用另一个Controller的某些功能才能将其设置为最新。我认为我当前结构的模式会更明确:Controller1/\fx:includefx:include/\Controller2Controller3每个Controller都有自己的fxmlView。-Controller1:一个容器Controller,它有一个带有2个选项卡的TabPane元素(每个选项卡对应1个Controller)-Controll

【网络原理】TCP 协议中比较重要的一些特性(二)

目录1、TCP状态转换1.1、三次握手状态1.2、四次挥手状态2、滑动窗口3、流量控制1、TCP状态转换TCP状态和“线程状态”是类似的概念,用于描述TCP连接过程中正在执行什么操作。TCP服务器和客户端都有一定的数据结构来保存连接信息,而这个数据结构中有一个属性叫“状态”,操作系统内核根据状态的不同,决定当前应该执行什么操作。TCP状态转换图1.1、三次握手状态LISTEN状态表示服务器创建好了serverSocket,并且绑定客户端完成,等待客户端newSocket进行三次握手连接。ESTABLISHED状态表示连接已经建立完毕,三次握手完成。图中的两个ESTABLISHED状态可以认为是

stm32串口通信学习分享(二)

    上一章分享了关于stm32串口通信发送信息相关方面的内容,这章分享一下更改串口号以及串口接收方面的学习内容。    我在串口接收方面的内容理解主要是电脑向stm32发送信息,stm32接收到信息进入中断服务函数,同时在中断服务函数中将信息通过串口调试助手再回传给电脑的过程。      好,接下来废话不多说,上代码,先说更改串口号。     对于更改串口号我们应该先选择串口一到五自己要使用到的,后调配相应时钟总线,在硬件方面将相应的串口收发引脚与USB转串口收发引脚相接(我这里使用的是USB转串口,串口的发送引脚连接USB转串口的RX接收引脚,串口接收引脚连接USB转串口的TX发送引脚)

《TCP/IP详解 卷一》第6章 DHCP

目录6.1引言6.2DHCP6.2.1地址池和租用6.2.2DHCP和BOOTP消息格式6.2.3DHCP和BOOTP选项6.2.4DHCP协议操作6.2.5DHCPv66.2.6DCHP中继6.2.7DHCP认证6.2.8重新配置扩展6.2.9快速确认6.2.10 位置信息(LCI和LoST)6.2.11 移动和切换信息(MoS和ANDSF)6.2.12 DHCP嗅探6.3无状态地址自动配置6.4DHCP和DNS交互6.5以太网上的PPP6.6与系统配置相关的攻击6.7总结6.1引言获取IP方式:        DHCP        IPv6无状态地址自动配置(SLAAC,Stateles

TCP协议

🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏目录TCP原理 TCP相关特性 可靠传输  确认应答(安全机制)​编辑超时重传(安全机制)连接管理 (建立连接+断开连接) a)建立连接b)断开连接  滑动窗口机制(效率) 流量控制(安全机制)拥塞控制(安全机制) 延时应答(效率)捎带应答 (效率)面向字节流 粘包问题 TCP原理TCP对数据传输提供的管控机制,主要体现在两个方面:安全和效率。这些机制和多线程的设计原则类似:保证数据传输安全的前提下,尽可能的提高传输效率 TCP相关特性 有连接可靠传输面向字节流全双工  可靠传输,是TCP最核