随笔分类 -  网络

摘要:转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP常见问题。TCP进程通讯时,双方打开连接,发送数据,最后关闭连接。当TCP打开连接时,从源端口到目的端口发送 阅读全文
posted @ 2018-05-09 15:30 小 楼 一 夜 听 春 雨 阅读(3111) 评论(1) 推荐(0) 编辑
摘要:http://blog.chinaunix.net/uid-29075379-id-3904985.html 这个问题在网上已经有很多人讨论过了,再谈这个问题,只是根据我处理过的相关业务来谈谈我的看法。至于什么是TIMEWAIT,我想,并不需要多说。TIMEWAIT状态本身和应用层的客户端或者服务器 阅读全文
posted @ 2018-03-29 00:26 小 楼 一 夜 听 春 雨 阅读(518) 评论(0) 推荐(0) 编辑
摘要:1:UDP中可以使用connect系统调用2:UDP中connect操作与TCP中connect操作有着本质区别。TCP中调用connect会引起三次握手,client与server建立连结.UDP中调用connect内核仅仅把对端ip&port记录下来.3:UDP中可以多次调用connect,TC 阅读全文
posted @ 2018-01-24 16:44 小 楼 一 夜 听 春 雨 阅读(7653) 评论(0) 推荐(1) 编辑
摘要:写socket发现的一个诡异现象,当时将多个小数据写操作合并成一个写操作,问题就没了。Chenshuo同学还建议我设置TCP_NODELAY,只是后来因为事情忙,也就没有再深究下去。 现在大概明白,是由于nagle算法在捣乱。TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对 阅读全文
posted @ 2018-01-21 02:52 小 楼 一 夜 听 春 雨 阅读(838) 评论(0) 推荐(0) 编辑
摘要:在命令行下输入route -n 或 netstat -rn,就可以打印本机的路由表,我的如下: Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.161.0 192.168.161.1 255.255.255.0 UG 0 阅读全文
posted @ 2018-01-09 15:37 小 楼 一 夜 听 春 雨 阅读(1119) 评论(0) 推荐(0) 编辑
摘要:server : ip -- 192.168.96.132 client: ip--192.168.96.131 在服务端,accept函数的其中一个入参是listen-socket,会返回一个新的connection-socket。通过connection-socket,调用getpeername 阅读全文
posted @ 2017-11-23 00:07 小 楼 一 夜 听 春 雨 阅读(327) 评论(0) 推荐(0) 编辑
摘要:int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen); getsockname() returns the current address to which the socket sockfd is bound, 阅读全文
posted @ 2017-11-22 23:16 小 楼 一 夜 听 春 雨 阅读(618) 评论(0) 推荐(0) 编辑
摘要:每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态。接收缓冲区把数据缓存入内核,应用进程一直没有调用read进行读取的话,此数据会一直缓存在相应socket的接收缓冲区内。再啰 阅读全文
posted @ 2017-11-07 22:00 小 楼 一 夜 听 春 雨 阅读(14461) 评论(0) 推荐(0) 编辑
摘要:使用libevent编写websocket服务端时遇到了一个问题: 浏览器与服务端建立连接后,若刷新或关闭浏览器窗口(未监听相应事件并处理),服务端无法得知连接断开,按理说,这种情况属于client异常终止,跟拔网线的情况类似。这种情况下,服务端不知情,仍保留此连接,仍按照既定逻辑向client写数 阅读全文
posted @ 2017-10-13 16:59 小 楼 一 夜 听 春 雨 阅读(2804) 评论(0) 推荐(0) 编辑
摘要://TCP and UDP can bind to the same IP & port. #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAX_EVENT_NUM... 阅读全文
posted @ 2017-09-01 00:15 小 楼 一 夜 听 春 雨 阅读(1332) 评论(0) 推荐(0) 编辑
摘要:recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结。 首先阻塞接收的recv有时候会返回0,这仅在对端已经关闭TCP连接时才会发生。 而当拔掉设备网线的时候,recv并不会 阅读全文
posted @ 2017-08-31 23:35 小 楼 一 夜 听 春 雨 阅读(18964) 评论(0) 推荐(2) 编辑
摘要:~/cpp$ ./connect 192.168.1.234 1234 kkkk block mode: ubuntu 14.04 : time used:21.0.001053s connect 超时时间是大约21秒! 注意:如果connect 127.x.x.x xxx kkkk 会立即返回因为 阅读全文
posted @ 2017-08-30 23:30 小 楼 一 夜 听 春 雨 阅读(21755) 评论(0) 推荐(0) 编辑
摘要:https://www.openssl.org/docs/fipsnotes.html https://wiki.openssl.org/index.php/FIPS_mode() openssl-fips是符合FIPS标准的Openssl。 联邦信息处理标准(Federal Information 阅读全文
posted @ 2017-08-30 13:55 小 楼 一 夜 听 春 雨 阅读(2852) 评论(0) 推荐(1) 编辑
摘要:epoll有两种触发的方式即LT(水平触发)和ET(边缘触发)两种,在前者,只要存在着事件就会不断的触发,直到处理完成,而后者只触发一次相同事件或者说只在从非触发到触发两个状态转换的时候儿才触发。 这会出现下面一种情况,如果是多线程在处理,一个SOCKET事件到来,数据开始解析,这时候这个SOCKE 阅读全文
posted @ 2017-08-30 00:28 小 楼 一 夜 听 春 雨 阅读(3484) 评论(0) 推荐(1) 编辑
摘要:from http://blog.csdn.net/nyist327/article/details/39586203 心跳包的发送,通常有两种技术方法1:应用层自己实现的心跳包 由应用程序自己发送心跳包来检测连接是否正常,大致的方法是:服务器在一个 Timer事件中定时 向客户端发送一个短小精悍的 阅读全文
posted @ 2017-08-29 15:41 小 楼 一 夜 听 春 雨 阅读(4220) 评论(0) 推荐(1) 编辑
摘要:splice( )函数 在两个文件描述符之间移动数据,同sendfile( )函数一样,也是零拷贝。 函数原型: #include <fcntl.h> ssize_t splice(int fdin, loff_t *offin, int fdout, loff_t *offout, size_t 阅读全文
posted @ 2017-08-28 23:35 小 楼 一 夜 听 春 雨 阅读(4488) 评论(0) 推荐(3) 编辑
摘要:from http://blog.csdn.net/hnlyyk/article/details/50856268 Linux系统使用man sendfile,查看sendfile原型如下: #include <sys/sendfile.h> ssize_t sendfile(int out_fd, 阅读全文
posted @ 2017-08-28 22:41 小 楼 一 夜 听 春 雨 阅读(1075) 评论(0) 推荐(1) 编辑
摘要:下面建立的套接字都是tcp套接字 1.进程创建监听套接字socket1,邦定一个指定端口,并接受了若干连接。那么进程创建另外一个套接口socket2,并试图邦定同一个端口时候,bind错误返回“Address already in use”(即使使用了SO_REUSEADDR).2.进程创建监听套接 阅读全文
posted @ 2017-08-27 01:34 小 楼 一 夜 听 春 雨 阅读(25931) 评论(1) 推荐(3) 编辑
摘要:from http://www.cnblogs.com/dawen/archive/2011/05/18/2050358.html 1、标准定义 两种I/O多路复用模式:Reactor和Proactor 一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。 阅读全文
posted @ 2017-08-25 17:21 小 楼 一 夜 听 春 雨 阅读(606) 评论(0) 推荐(0) 编辑
摘要:connect accept: setsendbuffer: setrecvbuffer: daytime: testdup: writev: sendfile: splice: tee: select: epoll: oneshot: 阅读全文
posted @ 2017-08-22 23:02 小 楼 一 夜 听 春 雨 阅读(4736) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示