android客户端套接字未接收数据
我有一个不是java的tcp服务器,也是一个硬件设备,我需要发送和接收数据 我正在连接服务器并使用以下代码发送一些配置数据android客户端套接字未接收数据,android,tcp,Android,Tcp,我有一个不是java的tcp服务器,也是一个硬件设备,我需要发送和接收数据 我正在连接服务器并使用以下代码发送一些配置数据 this.clientSocket=new Socket("198.168.1.17",9999); this.os=new DataOutputStream(this.clientSocket.getOutputStream()); this.in=new DataInputStream(this.clientSocket
this.clientSocket=new Socket("198.168.1.17",9999);
this.os=new DataOutputStream(this.clientSocket.getOutputStream());
this.in=new DataInputStream(this.clientSocket.getInputStream());
System.out.println("Conncted");
char data[]={0x03,0x03,0x00};
byte b[]=new byte[data.length];
for (int i = 0; i < b.length; i++) {
b[i] = (byte) data[i];
}
try {
os.write(b);
它只显示读取数据,而字符串没有数据
我还尝试了线程中的代码
public void run(){
try{
while(true){
int size =in.available();
byte data[]=new byte[size];
in.read(data);
String str=new String(data);
System.out.println("Reading data:"+str);
}
在线程中,它只显示读取数据,
请帮助我如何从服务器获取数据还请注意服务器是内置的,我无法更改服务器代码可用()方法在代码“int size=in.available();”
解决方案可能是:
available()方法返回0,因此您无法接收数据。使用此代码从套接字接收数据。在onCreate之前编写此代码
private EditText mInputMessageView;
private Emitter.Listener onNewMessage = new Emitter.Listener() {
@Override
public void call(final Object... args) {
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
JSONObject data = (JSONObject) args[0];
String username;
String message;
try {
username = data.getString("username");
message = data.getString("message");
} catch (JSONException e) {
return;
}
// add the message to view
addMessage(username, message);
}
});
}
};
在.available()中返回的
是什么?您确定服务器已响应您的请求吗?好的,那个么,尽管服务器未响应,但我如何等待服务器响应?这意味着我要逐个发送命令?
private EditText mInputMessageView;
private Emitter.Listener onNewMessage = new Emitter.Listener() {
@Override
public void call(final Object... args) {
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
JSONObject data = (JSONObject) args[0];
String username;
String message;
try {
username = data.getString("username");
message = data.getString("message");
} catch (JSONException e) {
return;
}
// add the message to view
addMessage(username, message);
}
});
}
};