14-8-28
来源:互联网 发布:linux crontab每秒 编辑:程序博客网 时间:2024/06/06 15:53
1、val = fcntl(server_fd, F_GETFD);
val |= FD_CLOEXEC; 设置了这个标志:使用execl执行的程序里,此描述符被关闭,不能再使用它,但是在使用fork调用的子进程中,此描述符并不关闭,仍可使用。
fcntl(server_fd, F_SETFD,val);
fcntl系统调用可以对(文件)描叙符进行控制,如文件状态、I/O、锁、复制文件描叙符。
2、supertab安装:tab匹配
下载 http://www.vim.org/scripts/script.php?script_id=1643
这个安装包跟先前的几个Vim插件不同,它是一个vba文件,即Vimball格式的安装包,这种格式安装包提供傻瓜式的安装插件的方法。
1、用vim打开.vba安装包文件
2、在vim命令行下运行命令“UseVimball ~/.vim”。此命令将安装包解压缩到~/.vim目录。
3、在~/.vimrc文件中加入
let g:SuperTabDefaultCompletionType="context"
使用:输入时按tab键
3、socket
a、正常关闭:被close、shutdown后对方连接的send和recv会马上返回,并报错。
b、非正常关闭:拔掉网线、断电。对方是接不到信号,send和recv会一直阻塞在那里,这时就需要采取心跳的方式判断(常连接)
心跳:a、Tcp协议栈中KeepAlive探测 b、TCP连接双方发握手包
a、缺点:会改变现有的通讯协议
int keepalive = 1; // 开启keepalive属性
int keepidle = 60; // 如该连接在60秒内没有任何数据往来,则进行探测
int keepinterval = 5; // 探测时发包的时间间隔为5 秒
int keepcount = 3; // 探测尝试的次数.如果第1次探测包就收到响应了,则后2次的不再发.
setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void *)&keepalive , sizeof(keepalive ));
setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, (void*)&keepidle , sizeof(keepidle ));
setsockopt(fd, SOL_TCP, TCP_KEEPINTVL, (void *)&keepinterval , sizeof(keepinterval ));
setsockopt(fd, SOL_TCP, TCP_KEEPCNT, (void *)&keepcount , sizeof(keepcount ));
- 14-8-28
- GroupM小结1(14年8月28日)
- 2016年8月4日14:44:28
- 8-28
- 8/14
- 8-14
- 2004-8-28日记
- 2010-8-28 随笔
- 2011-8-28
- 2016/8/28
- [Leetcode] 28, 8, 5
- 1.2017-8-28
- 8-28 DAIRY
- 找规律 (1) 1, 2, 4, 7, 8, 11, 14, 16, 17, 19, 22, 26, 28, 29, 41, 44, ?
- 2014-8-28 Android 笔记
- andorid 实践2015-8-28
- 8/14更新
- 2008-8-14
- 如何“玩”微信
- 详解 Linux cp命令
- 求解惑ProductView Express 浏览器预览prt文件的时候蓝屏。见图
- window打开指定目录下文件并选中
- Android中实现可滑动的Tab的3种方式
- 14-8-28
- Ural 1096-Get the Right Route Plate!(bfs)
- UVa 10791 - Minimum Sum LCM (数论 推理)
- 461C - Appleman and a Sheet of Paper 模拟
- hdu1171--C - Big Event in HDU(多重背包+二进制优化)
- python连接oracle
- Qt学习 QVariant类(转)
- Plus One Java
- hdu1203--D - I NEED A OFFER!(转化01背包)