我有一个网络应用程序,但有一个难题:

如果我多次发送数据(socket.getOutputStream.write())而不调用socket.getInputStream().read()多次吗?
分钟后socket.getInputStream().read()可以读取所有已发送数据的所有数据吗?

如果可以,如果发送的数据在几分钟或几小时内过大,是否发生了过度缓冲?

最佳答案

是的。您写入套接字的任何内容都将被读取,或者连接将被终止。如果没有错误,那么您将始终阅读所编写的所有内容。

如果您填满了任何可用的缓冲区空间,则发送方的write调用将等待,直到有更多的缓冲区空间为止。它不会引发错误。

10-01 01:57
查看更多