Android中Socket通信问题,接受到数据但是不能显示出来

写了一个服务端和一个客户端,服务端用来接收数据,问题是数据接收到了,但是不能显示出来并且会报错。下面是代码。

package com.example.serversocket;

import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.UnknownHostException;

public class MainActivity extends Activity {
private TextView GetTv;

private String strGetTv="";

private ServerSocket serverSocket=null;
private final int SERVERPORT=54321;
Handler mHandler=null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new ClientThread()).start();
InitView();
}

private void InitView(){
GetTv=(TextView)findViewById(R.id.get_tv);


mHandler=new Handler(){
public void handlerMessage(Message msg){
super.handleMessage(msg);
strGetTv=msg.obj.toString().toString();
Log.i("test", "Init: "+strGetTv);
GetTv.setText(strGetTv);
}
};

findViewById(R.id.exit_btn).setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}


class ClientThread implements Runnable{

@Override
public void run() {
// TODO Auto-generated method stub
Message msg=new Message();
try {
serverSocket=new ServerSocket(SERVERPORT);
Socket client=serverSocket.accept();
BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
while(true){
String str=in.readLine();
msg.obj=str;
mHandler.sendMessage(msg);
Log.i("test", str);
if (str.equals("EOF")) {
client.close();
System.exit(0);
break;
}
in.close();
client.close();
}
}  catch (Exception e) {
System.out.println(e.getMessage());
}

}

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}




下面是报错的截图:


求各位帮我看一下,多谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值