1: 無符號長整型打印用%ul 有符號用%ld
2: 解決socket不能重複綁定的問題
當客戶端保持着與服務器端的連接,這時服務器端斷開,再開啓服務器時會出現: Address already in usr。
可以用netstat -anp | more 可以看到客戶端還保持着與服務器的連接(還在使用服務器bind的端口)。這是由於client沒有執行close,連接還會等待client的FIN包一段時間。
解決方法是使用setsockopt,使得socket可以被重用,是最常用的服務器編程要點。
具體的做法爲是,在socket調用和bind 調用之間加上一段對socket的設置:
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: