笔记总结

1: 无符号长整型打印用%ul 有符号用%ld

 

 

2: 解决socket不能重复绑定的问题

当客户端保持着与服务器端的连接,这时服务器端断开,再开启服务器时会出现: Address already in usr。

可以用netstat -anp | more 可以看到客户端还保持着与服务器的连接(还在使用服务器bind的端口)。这是由于client没有执行close,连接还会等待client的FIN包一段时间。

解决方法是使用setsockopt,使得socket可以被重用,是最常用的服务器编程要点。

具体的做法为是,在socket调用和bind 调用之间加上一段对socket的设置:

int opt = 1;
setsockopt(socket_fd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));

3:  printf("%*.*s/n",m,n,ch);

  其中前边*定义的是总的宽度,后边*是指定输出字符个数。分别对应外边参数m和n。

  输入: 10 3

  输出: Hap

 

 

4 : 修改DNS:
/etc/resolv.conf 里面添加
nameserver 202.168.24.68
如果还不行,就是服务器的端口没开
iptables -IA RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

 

 

 

5:判断奇数

if(i&1)

 

 

6: unix 的几个好习惯

cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar


tar xvf -C tmp/a/b/c newarc.tar.gz


mkdir -p tmp/a/b/c

 

 

将反斜杠用于长输入
               
~ $ cd tmp/a/b/c || /
> mkdir -p tmp/a/b/c && /
> tar xvf -C tmp/a/b/c ~/archive.tar

 

 

 

7:

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(笔记总结)