Chinaunix首页 | 论坛 | 博客
  • 博客访问: 375203
  • 博文数量: 105
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 826
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-16 13:58
个人简介

记录有意义的东西

文章分类

全部博文(105)

文章存档

2013年(105)

我的朋友

发布时间:2013-06-02 00:02:12

前言: Bind(): Address already in use引出来的问题:前一篇文章《linux socket 编程示例》在用CTRL+C结束进程后,再启动时会出现:Bind(): Address already in use的错误提示,并导致程序直接退出; 用$netstat -an |grep 8080或$ps aux |grep 8080都还能看到刚才用Ctrl+C“强制结束”了的进程,端口还是使用中,只能用kill结束进程,才能收回端口,很是麻烦。在代码中添加:int optval;optval = 1;ret = setsockopt( sock, SOL......【阅读全文】

阅读(1379) | 评论(0) | 转发(0)

发布时间:2013-05-11 01:52:22

方法一(使用alarm定时):  connect 设置超时   内核connect超时通常为75秒,我们可以设置更小的时间如10秒来提前从connect中返回   这里用使用信号处理机制,调用alarm,超时后产生SIGALRM信号 (也可使用select实现)   Sigfunc * sigfunc ;   sigfunc=signal(SIGALRM, connect_alarm); //.........【阅读全文】

阅读(1423) | 评论(0) | 转发(0)

发布时间:2013-05-11 01:31:05

目前各平台通用的设置套接字(Socket)连接超时的办法是:创建套接字,将其设置成非阻塞状态。调用connect连接对端主机,如果失败,判断当时的errno是否为EINPROGRESS,也就是说是不是连接正在进行中,如果是,转到步骤3,如果不是,返回错误。用select在指定的超时时间内监听套接字的写就绪事件,如果.........【阅读全文】

阅读(1656) | 评论(0) | 转发(0)

发布时间:2013-05-05 13:39:02

原文地址:同一个socket是否可以bind多个端口? 作者:瀚海书香版权所有,转载请注明出处。Author: Tony <tingw.liu#gmail.com>今天一个可爱的同事问我同一个socket能否bind多个port?说实话,真没这么玩过。本着严谨的态度,决定研究一下这样是否可以。说明本内容针对的内核版本是SLES 11 SP2 3.0.13-0.27首先分.........【阅读全文】

阅读(1856) | 评论(0) | 转发(0)

发布时间:2013-05-05 13:38:16

TCP/IP 协议栈中定义了MSS, 为的是提高网络的性能,因为如果让IP层分包的话,丢包后的重发没法控制,需要重传整个TCP包(浪费了网络资源) MSS就是这个协商的结果,不能人为修改,这个MSS的大小是MTU减去TCP头,从TCPDUMP结果中我们可以看到我们的TCP协商的MSS都在1.3~1.4K   所以一定需要我们自己来重.........【阅读全文】

阅读(1894) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册