1
我有2个套接字连接和发送文件。我想在某个时候发送一个信号给第二个socket。我想发送一个字符串“开始”,当接收器套接字获得它时,我执行一些操作。以下是接收者和发件人的代码。我究竟做错了什么?接收器从来没有得到“开始”,我相信它被发送。由于在字节之间发送字符串之间的字符串
发送方:
byte[] buff = new byte[1024 * 50];
while (isRunning && (readBytes = data.read(buff, 0, buff.length)) != -1) {
client.getOutputStream().write(buff, 0, readBytes);
if(sendStart){
client.getOutputStream().("start".getBytes("UTF-8"), 0, "start".getBytes("UTF-8").length);
sendStart = false;
}
}
接收侧:
DataInputStream in = null;
try {
in = new DataInputStream(socket.getInputStream());
} catch (IOException e) {
}
byte buffer[] = new byte[1024 * 50];
while ((len = in.read(buffer)) != -1) {
String received = new String(buffer, "UTF-8");
if(received!=null && received.equals("start")){
Log.d(TAG,"received start");
//do something
}
receivedFile.write(buffer, 0, len);
}
什么是'in'?有什么错误? – njzk2
@ njzk2 in是DataInputStream(我编辑了这个问题)。没有错误。收到的字符串是乱码。 –
你开始发送'data'的内容是什么? – njzk2