草庐IT

start_tcp_server

全部标签

TCP 连接管理机制(一)——TCP三次握手详解 + 为什么要有三次握手

TCP是面向连接的协议,在通信之前需要先建立连接,其本质就是打开一个socket文件,这个文件有自己的缓冲区,如果要发送数据,上层把数据拷贝到发送缓冲区;如果是接收数据,OS直接把来自网络的数据拷贝到接收缓冲区里。那么三次握手期间,Server和Client都做了哪些工作?以及为什么要有三次?不可以是一次?两次?四次?目录一、握手之前的准备工作1、Server端2、Client端二、TCP三次握手1、第一次握手2、第二次握手3、第三次握手三、为什么需要三次握手?1、原因一:三次是确认对方主机状态及收发能力的最小次数2、原因二:降低被攻击的风险的最小次数(1)如果只有一次握手(2)如果只有两次握

网络编程——实现服务端与客户端TCP的消息发送与接收

网络编程——实现服务端与客户端TCP的消息发送与接收本文主要涉及网络编程的具体实现过程,实现客户端与服务端的TCP的信息传输,注意还只是单向的客户端发送,服务端接收。文章目录网络编程——实现服务端与客户端TCP的消息发送与接收一、服务端1.1服务端通信详细流程1.2关键函数及其详细描述:1.3服务端完整代码二、客户端2.1客户端通信详细流程2.2完整代码一、服务端1.1服务端通信详细流程让我更详细地描述服务端通信流程初始化:使用socket函数创建一个服务器套接字。sockfd=socket(AF_INET,SOCK_STREAM,0);使用bind函数将服务器套接字绑定到指定的IP地址和端口

谈谈 tcp 慢启动与拥塞控制

慢启动是一种capacity-search策略,不限于tcp,但不说tcp慢启动不配标题党,所以就说tcp慢启动。慢启动用指数灌报文的方式快速探测网络容量,所谓“慢”是起点慢。值得注意的是,传统慢启动不做pacing,不做拥塞控制,由于指数灌报文,非常容易拥塞,丢包,指标剧烈抖动导致大部分测量没有意义,平稳流量抖动大多由新进流量慢启动行为导致。bbr以pacing做拥塞控制,但对慢启动机制并没有太大修正,反而完全适配了传统慢启动,bbrstartup和传统慢启动在效果上一致,这似乎建立在一种很不自然的假设上,即传统慢启动是正确的。但它真的正确吗?和aimd一样,它只是简单,能处。看下bbr是如

联想ThinkServer 【RD640】服务器RAID卡不识别、更换——重做RAID的阵列和Windows Server 2008 R2操作系统

联想ThinkServer【RD640】服务器RAID卡不识别——重做RAID的阵列和WindowsServer2008R2操作系统联想ThinkServer-RD640服务器RAID卡丢失排查是否为硬盘的问题、先看硬盘灯闪烁是“绿色”还是“红色”。检查阵列卡是否正确安装在支持的插槽中。将阵列卡安装在其他支持插槽中。检测阵列卡是否正确按照安装。验证是否已安装阵列卡的驱动程序。重新启动系统,然后检查。如果阵列卡坏进行更换,插槽问题需要更换主板或者扩展卡。RAID卡SAS9240-4i阵列卡跟换新的raid卡,已经识别硬盘已经显示出服务器的两块硬盘(一共就插入了两块硬盘)重新做raid磁盘阵列两块

如何使用Postman创建Mock Server?

这篇文章将教会大家如何利用 Postman,通过Mock的方式测试我们的API。什么是MockMock 是一项特殊的测试技巧,可以在没有依赖项的情况下进行单元测试。通常情况下,Mock与其他方法的主要区别就是,用于取代代码依赖项的模拟对象允许设置期望值。简而言之,Mock就是创建了一个对象,模拟真实对象的行为。目的是什么前端与后端的工作进度不同步,使得两方团队无法有效的完成工作。Postman中的Mock服务器可以减轻团队开发过程中的这种不同步问题。开发可以在不启动后端的基础上,查看预期的响应结果。是一种快速开发的过程。意义何在在API开发的前期,构建Mock集合可以帮助开发团队之间清晰沟通,

41. 干货系列从零用Rust编写负载均衡及代理,websocket与tcp的映射,WS与TCP互转

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy项目设计目标针对有一些应用场景需要将TCP转成websocket的,就比如旧的客户端或者旧的服务端比较不合适进行改造,但是又需要借助阿里的全站加速DCDN等这类服务或者其它可能需要特定浏览器协议的情

41. 干货系列从零用Rust编写负载均衡及代理,websocket与tcp的映射,WS与TCP互转

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy项目设计目标针对有一些应用场景需要将TCP转成websocket的,就比如旧的客户端或者旧的服务端比较不合适进行改造,但是又需要借助阿里的全站加速DCDN等这类服务或者其它可能需要特定浏览器协议的情

如何实现无公网ip固定TCP端口地址远程连接Oracle数据库

文章目录前言1.数据库搭建2.内网穿透2.1安装cpolar内网穿透2.2创建隧道映射3.公网远程访问4.配置固定TCP端口地址4.1保留一个固定的公网TCP端口地址4.2配置固定公网TCP端口地址4.3测试使用固定TCP端口地址远程Oracle前言Oracle,是甲骨文公司的一款关系数据库管理系统,它在数据库领域一直处于领先地位。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。本次教程我们来在本地搭建Oracle数据库,并通过[cpolar内网穿透](cpol

08-linux网络管理-nc命令(TCP|UDP网络联通测试,文件传输,带宽测试)

文章目录1.安装2.选项2.1帮助命令2.2常用示例-监听TCP端口(默认)-监听UDP端口-链接TCP端口-链接UDP端口-接收数据重定向-上传数据3.完整示例3.1示例1(端口联通检查)3.2示例2(文件传输)3.3带宽测试1.安装yuminstallnc-y2.选项2.1帮助命令[root@DoM01~]#nc-hNcat7.50(https://nmap.org/ncat)Usage:ncat[options][hostname][port]Optionstakingatimeassumeseconds.Append'ms'formilliseconds,'s'forseconds,'

VSCode GitHub Copilot could not connect to server. Extension activation failed: “connect ETIMEDOUT

VSCodeGitHubCopilotcouldnotconnecttoserver.Extensionactivationfailed:"connectETIMEDOUTVSCode打开设置,搜索proxy,设置为你的代理地址,重启VSCode即可.说明如果你设置了$env:HTTP_PROXY和$env:HTTPS_PROXY需要清除掉,我的环境下,设置这两个环境变量不行,VSCode设置里面设置代理可以参考⚡️InitialHTTPproxysupportforCopilot·community·Discussion#29127https://github.com/orgs/commun