java socket InputStream和OutputStream


從java socket對象獲取的InputSteam的read方法其實是對linux的recv()函數的調用,OutputStream也同理。

也就是說,InputStream和OutputStream只是對底層接口的一個包裝。

 

recv()和send()來自於<sys/socket.h>,這是glibc的頭文件。函數原型如下:

ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);

ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);

可見,給定要傳輸的數據的起始地址以及要傳輸的數據的長度,就可以進行傳輸了。

而OutputStream的write方法,

java.io.OutputStream.write(byte[] b, int off, int len)

同樣,給定要傳輸的數據的起始地址以及要傳輸的數據的長度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM