【发布时间】:2011-05-31 22:10:12
【问题描述】:
can anybody tell me how to read socket input stream. Here is my code.
if (!serverIpAddress.equals(""))
{
try
{
InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
Log.i("ClientActivity", "Connecting...");
Socket socket = new Socket(serverAddr, 5777);
try {
Log.i("ClientActivity", "Sending command.");
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket
.getOutputStream())), true);
// where you issue the commands
out.println("<maplist />");
Log.i("ClientActivity", "Sent.");
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
buffer = new StringBuilder();
new Thread(new Runnable() {
@Override
public void run() {
try
{
buffer.append(input.readLine());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
this.WriteXMLResponse(buffer.toString());
} catch (Exception e) {
Log.e("ClientActivity", "S: Error", e);
}
在我的代码和运行方法中,我正在读取输入流,发生异常。上面写着 java.net.socketException: bad file number。
如果我使用 while 循环,我的应用程序会冻结。 任何建议将不胜感激。 谢谢
【问题讨论】:
标签: android multithreading sockets inputstream