
网络
文章平均质量分 61
YMY_mine
这个作者很懒,什么都没留下…
展开
-
go 实现发送post请求的两种方法
1、http.NewRequest()package mainimport ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" "unsafe")type JsonPostSample struct {}func (this *JsonPostSample) SamplePost() { info := ...原创 2019-08-05 16:32:37 · 28511 阅读 · 3 评论 -
tcping
起因 : 很多时候要测试端口,ping命令虽好但不能测试端口 ping 基于ICMP协议是属于ip层协议,通信不需要端口所以无法测试 tcp udp 运输层的端口,幸好 有tcping 命令,可是tcping命令用法网上讲十分简略,一个如此实用的工具百度上竟然找不到一份详细的说明,不经让我感叹颇多, 所以本人决定翻译 tcping的参数文档,希望对大家有点帮助。本人水平很有限,必有错误与不当,极力...转载 2019-01-15 12:26:53 · 3212 阅读 · 0 评论 -
滑动窗口移动规则
滑动窗口移动规则:1、窗口合拢:在收到对端数据后,自己确认了数据的正确性,这些数据会被存储到缓冲区,等待应用程序获取。但这时候因为已经确认了数据的正确性,需要向对方发送确认响应ACK,又因为这些数据还没有被应用进程取走,这时候便需要进行窗口合拢,缓冲区的窗口左边缘向右滑动。注意响应的ACK序号是对方发送数据包的序号,一个对方发送的序号,可能因为窗口张开会被响应(ACK)多次2、窗口张开:窗...原创 2019-01-02 10:58:33 · 1492 阅读 · 0 评论 -
tcp协议为什么不是两次或者四次而是三次握手。
tcp协议为什么不是两次或者四次而是三次握手。 是为了防止已经失效的连接请求报文段又突然传送给服务器。我的理解是这样的:在网络拥塞的情况下,客户端向服务器发送连接请求报文段1,由于网络拥塞,导致连接请求报文段1不能及时到达服务器,然后因为有超时重传机制、于是客户端再重传一次连接请求。建立了连接,在交互完成后,连接被释放(客户端关闭)。但是此时,延迟的连接请求报文段1到达了服务器,...原创 2018-08-22 23:16:38 · 339 阅读 · 0 评论 -
TCP与UDP区别
1、面向报文与面向字节流的区别:面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。面向字节流的话...原创 2018-08-09 14:28:20 · 218 阅读 · 0 评论 -
I/O复用:select、poll、epoll区别
select 和poll的区别:select:select的触发方式是水平触发(LT),应用程序如果没有完成对一个已经就绪的文件描述符进行IO操作,那么之后每次select调用还是会将这些文件描述符通知进程。创建数组,保存描述符(一次while要做的事:)清空集合FD_ZERO 遍历数组,将fd写入fdset集合中(由于内核对fd_set的修改,应用程序下次调用select...原创 2018-08-04 00:25:07 · 351 阅读 · 0 评论 -
TCP三次握手,四次挥手
TCP报头:三次握手流程图: 四次挥手流程图:TIME_WAIT状态存在原因:1).保证可靠的终止TCP协议.if客户端给服务器发送的ACK丢失,而服务器将一直处于LAST_ACK状态,如果服务器利用超时重传机制再给客户端发送释放连接请求时,客户端由于已经进入CLOSED状态就接收不到任何数据,因而导致服务器没有机会进入CLOSED状...原创 2018-08-02 15:32:58 · 268 阅读 · 0 评论 -
HTTP与HTTPS
一、HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因为加密的详细内容就需要SSL。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了...原创 2018-08-10 13:46:26 · 485 阅读 · 0 评论 -
进程间通讯方式
一、进程间通讯:每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。二、进程间通讯方式:信号,管道,信号量,共享内存,消息队列,socket0、信号是系统提前规定好的一些特定的事件,信号可以被产生,也...原创 2018-08-09 16:10:45 · 376 阅读 · 0 评论 -
epoll 底层实现总结
当一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,这个结构体中有两个成员与epoll的使用方式密切相关。eventpoll结构体如下所示:struct eventpoll{ .... /*红黑树的根节点,这颗树中存储着所有添加到epoll中的需要监控的事件*/ struct rb_root rbr; /*双链表...原创 2018-08-04 00:55:04 · 1172 阅读 · 0 评论