可能是解決這兩個函數之間的任何差異?:
對於這個問題帶來了另一個問題......是字符數總是與字節數相同?
欲瞭解更多信息:我用它在Linux上的TCP套接字通信(sys/socket.h) 感謝您的迴應。write()和send()解決錯誤=>差異?
返回:
寫():
成功時,寫入返回的字節數(零表示沒有寫)。出錯時,返回-1,並且適當地設置errno。如果count爲零且文件描述符引用常規文件,則將返回0而不會導致任何其他影響。對於特殊文件,結果不可移植。
send():
調用返回發送的字符數,如果發生錯誤,則返回-1。
來自stackoverflow的問題,說這種方法應該與使用標誌零相同。
here
int client_sockfd;
char* msg;
int length = strlen(msg);
//first option
if(send(client_sockfd, msg, length, 0) != length) return 1;
else return 0;
//second option
if(write(client_sockfd, msg, length) != length) return 1;
else return 0;
權,規則的改變,如果套接字是非阻塞的。 – 2012-01-28 22:07:45
但是TCP在阻塞模式下處於默認狀態?所以我不應該這樣複雜?在這種情況下 .. – user1097772 2012-01-28 22:19:21