【发布时间】:2019-05-16 20:28:52
【问题描述】:
我的 TCP 连接有问题。我通过智能手机通过 TCP 套接字连接将数据(简单字符串)发送到平板电脑。连接工作正常,数据按预期传输。但是当我做一个循环并且在每次迭代中 dos.write() 被触发时,只有一个包到达平板电脑数据接收器。我做错了什么?
这是我的连接的发送部分。它遍历列表并将每个数据写入DataOutputStream。
for(int i = 0; i <= logList.length - 1; ++i){
String backupPayload = invertLogStringToJson(logList[i]);
dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF(backupPayload);
dos.flush();
dos.close();
在平板电脑上,我通过以下代码 sn-p 接收数据:
@Override
public void run() {
try {
while(true){
mySocket = ss.accept();
dis = new DataInputStream(mySocket.getInputStream());
message = dis.readUTF();
handler.post(() -> {
bufferIntentSendCode.putExtra("data", message);
ctx.sendBroadcast(bufferIntentSendCode);
});
}
} catch (IOException e) {
e.printStackTrace();
}
}
正如我所说,当我只发送一个数据包时,连接工作正常。但是如果我想在循环内发送多个包裹,只有第一个包裹会到达目的地。
谁能帮助我? :)
【问题讨论】:
标签: java android sockets dataoutputstream