我目前正在设备上启动一个与我的服务器通信的线程。
问题是从不调用套接字init之后的代码语句:
@Override
public void run(){
try{
socket = new Socket(context.getString(R.string.host), context.getResources().getInteger(R.integer.port));
Log.d("AppTest", "ActivityStart");
out = new PrintWriter(socket.getOutputStream(), true);
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(true){
if(socket != null){
if(awaitingString != null){
out.println(awaitingString);
out.flush();
awaitingString = null;//Reset awaiting string
}
String line;
while((line = reader.readLine()) != null){
if(line != null){
answer = line;//Overwrite answer
}
}
}else{
socket = new Socket(context.getString(R.string.host), R.integer.port);
out = new PrintWriter(socket.getOutputStream(), true);
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
}
}catch(Exception e){
e.printStackTrace();
}
}
在调试中我应该可以使用AppTest:ActivityStart,但它没有显示出来。
PS:我使用计算机的IPv4地址作为主机