该应用程序的目的是简单地将字符串对象发送到我机器上的服务器。所有端口转发配置都是在我用我的机器上的 java 客户端测试服务器时设置的。
问题在于从 android 客户端与服务器交谈。服务器似乎永远不会被击中。
应用程序的基本概要:带有 1 个按钮和 1 个文本视图的简单屏幕。按钮将对象发送到服务器,服务器以消息响应,更新文本视图。正如我所说,服务器似乎从未被击中。任何人都知道我能做些什么来解决这个问题?
public class ObjectTestActivity extends Activity {
Button submit;
private String string = "Hello Android";
private ObjectOutputStream oos;
private ObjectInputStream ois;
private final int PORT = 3000;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button send = (Button) findViewById(R.id.send);
tv = (TextView) findViewById(R.id.tv);
try{
InetAddress host = InetAddress.getLocalHost();
Socket socket = new Socket("xx.xx.xxx.xxx", PORT);
oos = new ObjectOutputStream(socket.getOutputStream());
ois = new ObjectInputStream(socket.getInputStream());
}catch(UnknownHostException e){}
catch(IOException e){}
}
public void onClick(View view){
try{
oos.writeObject(string);
String serverMsg = (String) ois.readObject();
ois.close();
oos.close();
tv.setText("Message from Server: " + serverMsg);
}catch(IOException e){}
catch(ClassNotFoundException e){}
}
}