网络编程
菠萝菠萝菠萝葡萄
这个作者很懒,什么都没留下…
展开
-
模拟路由器
//路由器,功能为:存储,转发即抓包,改变包的内容#include <stdio.h>#include <sys/socket.h>#include <netinet/ether.h>#include <arpa/inet.h>#include <string.h>#include <netpacket/packet.h>#include <sys/ioctl.h>#include <net/if.h&原创 2021-05-28 16:01:17 · 555 阅读 · 2 评论 -
ping通说明什么
ping是icmpping通说明 网络层,链路层没问题原创 2021-05-26 10:19:19 · 3421 阅读 · 0 评论 -
学习http
参考:https://www.bilibili.com/video/BV1V54y1y7c4?from=search&seid=10157147860167963416原创 2021-05-12 18:30:19 · 54 阅读 · 0 评论 -
tcp实现线程通信的server端实现
.cpp#pragma comment(lib,"ws2_32.lib")//链接ws2_32.lib库文件到此项目中#include "w_tcp_serial_port.h"#include "sonar_global_variable.h"#include "CMaster.h"#include "CFpga.h"#include "CPlayBackQueueListener.h"#include "util.h"w_tcp_serial_port::w_tcp_serial_po原创 2021-04-09 14:34:15 · 127 阅读 · 0 评论 -
进程间的通信方式
无名管道,有名管道,信号,消息队列,共享内存,socket项目Value管道最简单,数据只能读取一次,半双工,匿名管道只能是有血缘关系间的通信命名管道用于没有血缘关系间的进程通信共享内存效率高,不需要太多次数据拷贝,可以直接读写,缺点:不能保证数据同步,只能借助信号量保证同步信号量简单,携带的信息量少,使用在特定的场景,优先级高。建议不要使用信号量在进程间的通信,因为信号的优先级高会打破原有进程的执行过程socket主要用于网络中的进程间通信,通信过程原创 2021-03-09 08:54:26 · 98 阅读 · 1 评论 -
TCP握手/挥手的过程
详解:tcp报文里有个syn位,第一次握手syn位置1第二次握手,ack和syn位都置1(报文编号为第一次编号+1)第三次握手:客户端回应服务器的连接请求(报文编号为第二次+1)为什么四次挥手?任意一方A调用close,底层发出fin关闭请求(第一次挥手)B放方收到A方fin请求,B方立刻回复ack(第二次挥手)(编号为第一次挥手+1)B方应用层receive收到0长度数据包,导致B方调用close,导致发送给A方finA方再回复ack(编号为第三次挥手编号+1)问:为什么ack和..原创 2021-03-02 22:02:39 · 242 阅读 · 0 评论 -
网络编程的一般步骤:tcp与udp
原创 2021-03-01 22:39:30 · 159 阅读 · 0 评论