1、recv和send函數提供了和read和write差不多的功能。但是他們提供了第四個參數來控制讀寫操作.
int recv(int sockfd,void *buf,int len,int flags)
int send(int sockfd,void *buf,int len,int flags)
前面的三個參數和read,write相同,第四個參數能夠是0或是以下的組合:
_______________________________________________________________
| MSG_DONTROUTE | 不查找路由表 |
| MSG_OOB | 接受或發送帶外數據 |
| MSG_PEEK | 查看數據,並不從系統緩沖區移走數據 |
| MSG_WAITALL | 等待任何數據 |
|————————————————————–|
如果flags為0,則和read,write一樣的操作。
2、在unix中,所有的設備都可以看成是一個文件,所以我們可以用read來讀取socket數據。
參考
【1】 http://apps.hi.baidu.com/share/detail/137478
【2】 設置非阻塞
http://www.ajaxstu.com/Cbiancheng/107652.html
【3】 http://blog.163.com/solylee@126/blog/static/17182315720111161368585/
【4】http://blog.163.com/clevertanglei900@126/blog/static/111352259201122001933162/
【5】 http://topic.csdn.net/u/20090703/20/36925146-0f73-47fe-8a71-45ec245166ba.html