问题标签 [datainputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1708 浏览

java - 确定哪个客户端使用套接字发送数据

我有个问题。

在我的代码中,我有一组玩家,每个人都带着他的“进”和“出”到服务器。

从服务器到客户端,我可以很好地沟通,没有任何问题,每个客户端都在他的 GUI 中显示服务器发送的更改。

问题是从客户端到服务器的通信。作为服务器,我想收到每个玩家的请愿书来做一些工作。问题是我不知道我从哪个索引收到请愿书,我无法检查players[index].in.readUTF()它阻止程序的所有原因。

一些帮助?in.avaiable()对我不起作用。

为了更清楚地显示它:

当玩家登录服务器时,我在服务器端执行此操作。

然后我在服务器端有一个线程等待消息。

问题是我不知道来自玩家数组的哪个索引(来自哪个玩家)的消息。我无法检查未向服务器发送任何内容的玩家索引,因为它会阻止程序。

这就是它的工作原理:

从服务器到客户端我只是这样做:

  1. player[i].out.writeUTF(message)从服务器端
  2. 客户只是做in.readUTF()了,一切正常

从客户端到服务器我这样做:

  1. out.writeUTF(message)来自客户
  2. 但是在服务器端我必须选择一个player[i].in 来阅读我不知道哪个玩家是。
0 投票
1 回答
3109 浏览

android - OutputStream 到 DataOutputStream 用于蓝牙通信

我已经在网上找到的教程的帮助下编写了一个连接到蓝牙设备的 Android 应用程序。这个应用程序使用 InputStream 和 OutputStream 对象来连接和建立连接。因为我必须传输少量数据,所以这个解决方案没问题,因为我只能发送字节。

现在我想更改我的旧代码以使用 DataInputStream 和 DataOutputStream 轻松发送复杂数据。我试图通过简单地在 InputStream 和 OutputStream 之前添加 Data 标识符来修改我的原始代码,但这在我的代码中产生了错误。有人可以解释一下如何正确使用 DataInputStream 和 DataOutputStream,这样我就不会出错。这是我的旧代码:

这里是修改后的版本:

感谢您的任何投入!

0 投票
2 回答
2107 浏览

java - 使用 DataInputStream 和 DataOutputStream

我想使用 DataInputStream 将几个字符串从 A 发送到 B。

我知道如何使用.write(),但我不确定分离字符串的最佳方法。事实上 - 经过研究,除非我在字符串中添加一个字符并在 B 处拆分,否则似乎不可能。

DataInputStream将考虑使用的任何替代方案。我打算创建一个Array并将其发送出去,尽管我不知道该怎么做。

到目前为止,我有:

}

0 投票
1 回答
168 浏览

java - Android 应用程序在尝试打开两个 DataInputStreams 时挂起

我正在编写这个应用程序,我需要同时打开两个 InputStreams 并能够切换到任一流以传输图像。我可以打开第一个流,但是当我尝试打开第二个流时它挂起。以下是代码,我在它挂起的地方发表了评论,你能解释一下我是否做错了什么吗?

0 投票
1 回答
2644 浏览

java - 如何将字节数组写入和读取到 DataInput 和 DataOutput Stream

Hbase 充当我的 Map reduce 作业的源和汇。我已经编写了名为 (vector writable) 的自定义可写类,它有两个字段。

我的映射器将此作为其值发出,因此我在我的 vectorWritable 类中实现了写入和读取方法

当我尝试从输入流中读取 rowKey 时,我得到了 NullPointerException。readVector 方法虽然工作正常,但我得到了正确的值。

如何在 DataInput Stream 中写入字节数组,以便在输出流中检索它

更新:已解决 这是我的 rowKey 方法的更新,它工作正常。谢谢@Perception

0 投票
2 回答
1155 浏览

java - 数据输入流

我在服务器端有这个代码:

服务器端:

客户端:

如果我关闭它,当我尝试打开 BufferedReader 时出现以下异常:outTransferToClient.close();

如果我没有客户端的while循环永远不会停止..有什么帮助吗????

0 投票
1 回答
2375 浏览

java - Android / Java - 将 DataInputStream 转换为字符串

我目前与一些中间件建立了连接,通过它我将 SQL 查询发送到数据库。

我在将 DataInputStream 转换为可用格式(无论是否为字符串)时遇到了一些麻烦。我查看了另一个 StackOverflow 问题,但是这并没有解决我的问题,因为使用

被“弃用”,无论这意味着什么。我需要能够从我的中间件读取响应。

0 投票
1 回答
228 浏览

android - 使用 FileInputStream 和 File 对象代替命名管道时出现问题

我正在使用包装 FileStream 的 DataStream 在两个不同的应用程序之间发送大位图(意图有 1mb 限制,我不想将文件保存到文件系统),

我的问题是当流仍然打开但没有数据时DataInputStream抛出一个。EOFException我希望这会简单地阻止(尽管文档在此问题上非常含糊)。

数据输出流:

数据输入流:

谁能建议一组更好的类来将数据从一个线程流式传输到另一个线程(其中,read() / readInt() 成功阻塞)。

编辑

我试图通过简单地使用and从等式中删除DataInputStreamand来解决这个问题:DataOutputStreamFileInputStreamFileOutputStream

这使:

Writing width: [0, 0, 2, -48], height: [0, 0, 5, 0], length: [0, 56, 64, 0]

另一方面,我使用这个:

这使:

然后奇怪的是,read()它没有阻塞,它只是愉快地进行,没有阻塞但没有填充数组中的任何值(将数组初始化为 { 9, 9, 9, 9 } 之后仍然是 9, 9, 9, 9读)。

这就是疯狂的感觉吗?

0 投票
3 回答
845 浏览

java - 读取结构化二进制文件

我想用 Java 读取二进制文件。我知道该文件包含一系列数据结构,如:ANSI ASCII 字节字符串、整数、ANSI ASCII 字节字符串。即使我们假设数据结构的数量已知(N),我如何读取和获取文件的数据?我看到接口DataInput有一个方法 readUTF() 来读取字符串,但它使用 UTF-8 格式。我们如何处理 ASCII 的大小写?

0 投票
3 回答
5771 浏览

java - 从输入流中逐行读取Java中的数据

我需要读取以下格式的数据:
2
4
7
6 4
2 5 10
9 8 12 2

数据需要来自默认输入流 System.in。我正在使用包装在 BufferedReader 中的 InputStreamReader,因此我能够逐行读取。

问题是如果没有空白 System.out.println 语句,它会拒绝读取前两行之后的输入行。问题是,我提交代码的地方会监视输出流,因此会通过输出错误的答案将我的输出评为不正确。