我正在使用Java套接字在两台机器之间进行通信。 所以当服务器收到一条消息时,它会处理它并用另一条消息回复。 我正在使用TCP协议。当数据实际上通过套接字发送?
我的问题是,假设网络很慢。然后在发送消息之后立即发送消息,如果我调用套接字的InputStream.available()方法,我会从服务器获取实际可用字节到套接字吗?
也是InputStream.available()总是返回从服务器发送的字节的全部数量,即使消息是非常大的?我听说TCP有一个数据包限制,所以会影响InputStream.available()吗?
你试过了吗? – Undo
不,我不能模拟繁忙的网络,我不知道这种情况何时会发生。另外我编辑了这个问题来问一个相关的问题。 – Harikrishnan
我假设你的意思是'InputStream.available()'而不是'Socket.available()',因为Java Socket API中没有这样的方法。这是正确的,还是你正在使用一些第三方库? –