文档章节

上班的第五百一十九天

七木网络科技
 七木网络科技
发布于 2015/07/03 21:25
字数 455
阅读 232
收藏 1

    今天验证了两个问题。

    第一,backlog是不是填多少都生效

    第二,主程说登陆不上的问题是因为listen的队列满了,导致新连接连接不上,这个说法是否成立。

    针对第一个问题,我翻阅了一些资料,得知这些是由操作系统底层决定的,对此,我在macbook和windows7上面都做了如下的实验。

    服务器端:创建socket->填写sockaddr_in结构体->绑定监听地址和端口号->listen(socket, SOMAXCONN)->while(true){ ;}->end

    客户端:while(true){创建socket->connect服务器}->end

    在客户端中,每connect一次都打印一次计数变量(count++),都跑起来之后,发现在mac下connect到了128就堵塞了,而在windows7下面是到了200才堵塞。所以backlog并不是填多少都有效,是有限的,超过系统的上限,就会按照系统的上限来设置。

    针对第二个问题,我把connect的错误打印出来了,错误10061。主程说的可是10036喔,还斩钉截铁的。然后我就很开心地去叼他,说我测出来队列满了的错误是10061,并不是10036。接着他问我,10061是什么鬼,我告诉他是”服务器拒绝服务“。他就说,他记错了,是10061!

    什么鬼!还好我自己实践了一遍,不然按照他说的去找10036,都不知道找到猴年马月。

    接着就能找到问题点了,队列满了,排除了SYN洪水攻击之外就是因为没有accept,正常来说是不会出现这个问题的。除非,负责accept那条线程挂掉了,才会这样子。好的,明天就去找找,看是否有可能会使那条线程挂了。


© 著作权归作者所有

七木网络科技
粉丝 293
博文 323
码字总数 126231
作品 0
深圳
程序员
私信 提问
加载中

评论(5)

乌龟壳
乌龟壳

引用来自“chrisforbt”的评论

引用来自“乌龟壳”的评论

做网络程序要学会抓包,从包的角度推测发生了什么问题

抓的包都是二进制的喔,还没研究过这方面的,不过我也觉得应该要学的。

引用来自“乌龟壳”的评论

我刚开始工作那会和你一样也是这么一步步走过来的,建议抓包必学,不在实际的通信层面去分析问题,都算是隔靴搔痒,排查通信问题很吃力的。

引用来自“chrisforbt”的评论

对啊,真心难!前辈,有没有什么好书或者软件可以推荐一下呢?
你那本TCP/IP详解通篇都是从抓包角度去说的
七木网络科技
七木网络科技 博主

引用来自“chrisforbt”的评论

引用来自“乌龟壳”的评论

做网络程序要学会抓包,从包的角度推测发生了什么问题

抓的包都是二进制的喔,还没研究过这方面的,不过我也觉得应该要学的。

引用来自“乌龟壳”的评论

我刚开始工作那会和你一样也是这么一步步走过来的,建议抓包必学,不在实际的通信层面去分析问题,都算是隔靴搔痒,排查通信问题很吃力的。
对啊,真心难!前辈,有没有什么好书或者软件可以推荐一下呢?
乌龟壳
乌龟壳

引用来自“chrisforbt”的评论

引用来自“乌龟壳”的评论

做网络程序要学会抓包,从包的角度推测发生了什么问题

抓的包都是二进制的喔,还没研究过这方面的,不过我也觉得应该要学的。
我刚开始工作那会和你一样也是这么一步步走过来的,建议抓包必学,不在实际的通信层面去分析问题,都算是隔靴搔痒,排查通信问题很吃力的。
七木网络科技
七木网络科技 博主

引用来自“乌龟壳”的评论

做网络程序要学会抓包,从包的角度推测发生了什么问题

抓的包都是二进制的喔,还没研究过这方面的,不过我也觉得应该要学的。
乌龟壳
乌龟壳
做网络程序要学会抓包,从包的角度推测发生了什么问题
富士康上课3年夜班的打工妹辞职了,临走时说了这句话催人泪下

很多职场人的第一份工作就是进工厂上班。刚开始觉得很多年轻人,都有共同的话题,整天边上班做事边聊天,时间过得很快。很喜欢这种工作。但很多工厂都是24小时上班的,白天上了晚上也有人在做...

浪花两朵
2017/12/29
0
0
现在,还需随身携带什么?

答案是手机! 以前上班,习惯背上一个背包。最近上班需要赶地铁,背包是需要过安检的。最开始,为了新工作还买了一个新包。现在看可能浪费了。安检需要排队,无包的话基本上可以直接通过进入...

开源中国驻成都办事处
2016/11/30
14
0
n元语法

语言模型 在统计自然语言处理中语言模型是很重要的一块,常用的语言模型是n元语法模型,当然现在比较流行的还有神经网络语言模型。n元语法模型需要额外的平滑处理,而神经网络语言模型则不必...

超人汪小建
2017/11/28
0
0
怎么运用 qml 打开一个html文件

本人新人 刚加入软件学习行列。 上班第一件事是要求我用qml 打开一个html文件 包含图片等基本的属性信息。 新手 请详细解答, 谢谢!

菜根
2013/03/04
543
0
易哈佛TEAM使用规则

1.上班第一件事,打开TEAM. 2.每日工作总结,均在TEAM进行。 3.每一个任务单,直接在TEAM里下发。 4.每一个任务单,进行1,2,3,4,5点这样的讲解。 6.周报在TEAM里发。...

rosibo
2014/11/11
15
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
4
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
5
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部