我目前正在开发Android中的tcp客户端.我想将我的Android设备连接到计算机上的tcp服务器,并每2秒接收一次数据.问题是由于我在tcp客户端中实现的while循环,我正在关闭我的应用程序.我尝试以不同的方式编写将使tcp客户端检查服务器套接字的循环,但没有成功.如何制作一个循环来检查服务器套接字而不关闭力?
这是我目前正在使用的代码:
public class Connection implements Runnable {
@Override
public void run() {
try {
sk=new Socket(server,port);
viewsurface.setText("connected");
flag = true;
} catch (UnknownHostException e) {
viewsurface.setText("failed 1 socket");
flag = false;
} catch (IOException e) {
viewsurface.setText("failed 2 socket");
flag = false;
}
while (flag == true){
try {
checkin = sk.getInputStream();
checkint = checkin.available();
if (checkint > 0){
try {
BufferedReader in = new BufferedReader(new InputStreamReader(sk.getInputStream()));
received = in.readLine();
viewsurface.setText(received);
} catch (IOException e) {
viewsurface.setText("failed to receive"); …Run Code Online (Sandbox Code Playgroud) android ×1