我有一个网络应用程序,但有一个难题:
如果我多次发送数据(socket.getOutputStream.write())而不调用socket.getInputStream().read()
多次吗?
分钟后。 socket.getInputStream().read()
可以读取所有已发送数据的所有数据吗?
如果可以,如果发送的数据在几分钟或几小时内过大,是否发生了过度缓冲?
最佳答案
是的。您写入套接字的任何内容都将被读取,或者连接将被终止。如果没有错误,那么您将始终阅读所编写的所有内容。
如果您填满了任何可用的缓冲区空间,则发送方的write
调用将等待,直到有更多的缓冲区空间为止。它不会引发错误。