java DataOutputStream getOutputStream() getInputStream()

发布于 2024-10-16 15:36:37 字数 308 浏览 1 评论 0原文

一个问题

是,例如

DataOutputStream output= new DataOutputStream(clientSocket.getOutputStream()) ;

DataInputStream in = new   DataInputStream(clientSocket.getInputStream());

每次我需要 I/O 操作时必须创建这些对象,还是每次我需要时都调用它们的读取或写入??? (每次操作后加上一些冲洗)

one question

in the case for example of

DataOutputStream output= new DataOutputStream(clientSocket.getOutputStream()) ;

or

DataInputStream in = new   DataInputStream(clientSocket.getInputStream());

must these objects to be created each time i need an I/O operation or just invoke a read or a write on them each time i need??? ( plus some flushing after each operaration)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

意中人 2024-10-23 15:36:38

您只能创建这些对象一次,即在套接字初始化之后。

You must create these objects only once, that is, after your socket has been initialized.

鹤舞 2024-10-23 15:36:38

两种变体都是可能的,但只创建一次更有用。

如果您想要一些缓冲(以避免为每个写入命令发送新的 TCP 数据包),您可能需要考虑在 Socket 和 DataIn/Output 之间放置 BufferedInputStream:

DataOutput output = new DataOutputStream(new BufferedOutputStream(clientSocket.getOutputStream()));
DataInput input   = new DataInputStream (new BufferedInputStream (clientSocket.getInputStream()));

我使用接口 DataInput/DataOutput 而不是 Stream 类在这里,因为通常您只需要那里定义的方法。

Both variants are possible, but it is more useful to create them only once.

If you want some buffering (to avoid sending a new TCP packet for each write command), you may want to think about putting a BufferedInputStream between the Socket and DataIn/Output:

DataOutput output = new DataOutputStream(new BufferedOutputStream(clientSocket.getOutputStream()));
DataInput input   = new DataInputStream (new BufferedInputStream (clientSocket.getInputStream()));

I'm using the interfaces DataInput/DataOutput instead of the Stream classes here, since often you'll only need the methods defined there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文