- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 Blackberry 上编写一个应用程序,以简单地向我网络上的另一个基于 TCP 的设备发送和接收一些原始数据。我在运行 MDS 模拟器并使用物理电话与我公司的 MDS 服务器通话的 Blackberry 模拟器中遇到了同样的问题。请注意,直接使用 wifi 而不是通过 MDS 时不会发生此问题。
问题是 InputStream 上的 available() 函数返回零,除非我先调用 read() 。如果我先调用 read (知道有一些数据可用......谢谢wireshark)数据会回来,随后对 available() 的调用指示我没有读取的剩余数据。问题是我并不总是能保证数据会在那里,所以我可以阻止。有没有人知道这一点,这是一个问题还是设计使然?
有没有人知道在调用它们之前测试 read() 方法是否会阻塞的方法?
这基本上是我在做什么:
SocketConnection s = (SocketConnection)Connector.open("socket://1.2.3.4:port;deviceside=false", Connector.READ_WRITE);
OutputStream o = ((StreamConnection)s).openOutputStream();
InputStream i = ((StreamConnection)s).openInputStream();
o.write("你好");
Thread.sleep(有时);
如果(i.available()> 0){
字节[]数据=新数据[10];
int bytesRead = i.read(data);
System.out.println("Read ["+ new String(data) + "] (bytes = "+ bytesRead + ")");
}
我必须注释掉 if 条件才能工作。
最佳答案
InputStream.available() 方法的一般约定是它“返回可以从此输入流读取(或跳过)的字节数,而不会被此输入流的方法的下一个调用者阻塞。”因此,在大多数实现中,不能保证它会返回正在读取的流的内容长度。因此,最好按以下方式阅读
byte[] readFromStream(InputStream is) throws IOException
{
byte[] data = new byte[4096];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
int count = is.read(data, 0, data.length);
while (count != -1)
{
dos.write(data, 0, count);
count = is.read(data, 0, data.length);
}
data = baos.toByteArray();
return data;
}
关于networking - 使用 MDS 将 SocketConnection 与 Blackberry 一起使用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313684/
我在 Mac 上使用 Eclipse Luna。 而且,我正在研究服务器/客户端的东西......(下面的示例) serverSocket = new ServerSocket( 8000 ); Sy
我对 SparkR 很陌生.当我跑 sparkR , 出事了。 sc <- sparkR.init(master="local") 像这样的错误: Error in socketConnection(
有人知道TSocketConnection和TDCOMConnection之间的区别吗?在接收大量串行请求的应用程序中,同时使用哪一个更好? 最佳答案 区别在于在客户端和应用程序服务器之间来回传送远程
我正在使用 Marc Gravell 的 Pipelines.Sockets.Unofficial 库通过套接字获取 IDuplexPipe,但我发现需要在刷新之前修改消息 header 的情况。如果
我正在尝试使用 knex 将我的 SQL Server 数据库与 node.js 连接,但我遇到了问题 Error: No event 'socketConnect' in state 'SentPr
我有一个 android 应用程序,它使用套接字连接连接到服务器,该套接字连接在应用程序处于 Activity 状态时保持打开状态。如果手机处于非 Activity 状态(锁定屏幕)或用户按下主页按钮
我目前正在 Blackberry 上编写一个应用程序,以简单地向我网络上的另一个基于 TCP 的设备发送和接收一些原始数据。我在运行 MDS 模拟器并使用物理电话与我公司的 MDS 服务器通话的 Bl
在我使用的 Java ME 平台中,我只有 SocketConnection 类来连接到远程服务器。例如,我可以使用 Connector.open("socket://"+ip+":"+port) 在
有人可以帮助我如何通过 socketConnection 以编程方式使用 gmail smtp 服务器。我的问题是因为我无法与服务器通信,所以我如何编写 TSL/SSL 身份验证?有人用 java o
我是一名优秀的程序员,十分优秀!