【发布时间】:2016-11-02 17:27:31
【问题描述】:
我想在 android 设备和 java 服务器之间进行通信。 服务器端:
ServerSocket serverSocket = new ServerSocket(port);
Socket socket = serverSocket.accept();
OutputStream out = socket.getOutputStream();
PrintStream pw = new PrintStream(out);
pw.print("hello");
pw.flush();
socket.close();
Android 客户端:
public class connectTask extends Thread {
@Override
public void run() {
super.run();
while (true) {
try {
Socket socket = new Socket("192.168.0.101", 4444);
InputStream inputStream = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(line);
}
});
socket.close();
} catch (IOException e) {
}}}}
并以这种方式启动线程:
thread = new Thread(new connectTask());
thread.start();
问题是我无法从 java 服务器获取任何东西。我发送或接收数据错误,我不知道是什么问题,我在这里做错了什么?
【问题讨论】:
-
客户端应用程序是否出现异常(打印 IOException)。
-
我在 catch 块中使用了 printStackTrace() 方法,没有打印任何内容,还添加了 catch(Exception e) 块,也没有捕获任何东西
标签: java android sockets serversocket