学习Linux的心得

Linux和DOS完全不一样。
Linux结构复杂得多。

Linux不是简单记命令。
需要深入理解。

我学Linux时,Redhat声卡驱动难装。
装了几天放弃。

几年后决心大,查资料请教,终于装好。
关键是决心。

不要在没基础时读内核代码。
浪费时间。

读内核代码要等有基础了。
否则是空研究。

Linux开源软件比内核更有价值。
是文化和信仰。

学习Linux按顺序:接触→认识→熟悉→理解→创造。

先熟悉基本命令和目录结构。
用vi编辑器。

学grep、sed、awk等工具。
虽然难,但很重要。

不要急着搞桌面。
那不重要,但易吸引人。

先别想着wine玩游戏。
那是浪费时间。

从应用软件了解Linux。
用多了自然懂。

总结:坚持用,不断学,Linux是助手。
你自己掂量。

Linux程序员必看:Send函数返回值的深刻理解与实践心得

Linux的send函数,关键看返回值。
大于0,数据发了;等于-1 ,出错了,查errno;非阻塞还可能是缓冲区满了。
错误要分情况处理,比如EAGAIN要等缓冲,EINTR重试,ECONNRESET重建连接。
超时用select/poll/epoll,别等死。
大文件分块发,断点续传方便。
错误重试有限制,不可重试的直接放弃。
网络延迟要调整超时,确认机制保数据。
日志要记清,方便调试。
和其他函数一起用,优化性能。
高级技巧用epoll,多路复用,内存管理别忘。
别忽视返回值,别混淆错误码,超时别设短。
掌握这些,send函数用得溜,程序稳如老狗!