最简单的socket通信 为啥不行?

求教 今天跑了网上的 socket通信 最简单的那种。用模拟机的,就是没反应,啥情况 别人都可以。
permission 也加了

服务器:
package com.example.server;
import java.io.BufferedWriter;
import java.io.IOException;  
import java.io.OutputStreamWriter;  
import java.net.ServerSocket;  
import java.net.Socket; 
public class Main {  
    private static final int PORT = 8853;  
    public static void main(String[] args) {  
  
        try {  
            // 实例化服务器套接字 设置端口号9999  
            ServerSocket s = new ServerSocket(PORT);  
            while (true) {  
                Socket socket = s.accept();  
                // 获取输出流  
                BufferedWriter writer = new BufferedWriter(  
                        new OutputStreamWriter(socket.getOutputStream()));  
                // 写字符串  
                writer.write("这是一段来自服务器的问候:Hello!");  
                writer.flush();  
                writer.close();  
            }  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  
}  


客户端:
package com.example.server;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.net.Socket;  
import java.net.UnknownHostException;  
import android.annotation.SuppressLint;  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.util.Log;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.TextView; 

@SuppressLint("HandlerLeak") 
public class MainActivity extends Activity {
 
    /** Called when the activity is first created. */  
    private Button btn_receive;  
    private TextView txt;  
    private String line;  
      
    private static final String HOST = "192.168.1.101";    
    private static final int PORT = 8853;   
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        initControl();  
    }  
  
    private void initControl() {  
        btn_receive = (Button) findViewById(R.id.btn_receive);  
        txt = (TextView) findViewById(R.id.txt);  
        btn_receive.setOnClickListener(new ReceiverListener());  
    }  

    @SuppressLint("HandlerLeak")  
    class ReceiverListener implements OnClickListener {  
  
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            new Thread() {  
                @Override  
                public void run() {  
                    // 执行完毕后给handler发送一个空消息  
                    try {  
                        // 实例化Socket  
                        Socket socket = new Socket(HOST, PORT);  
                        // 获得输入流  
                        BufferedReader br = new BufferedReader(  
                                new InputStreamReader(socket.getInputStream()));  
                        line = br.readLine();  
                        br.close();  
                    } catch (UnknownHostException e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    } catch (IOException e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    }  
                    handler.sendEmptyMessage(0);  
                }  
            }.start();  
        }  
  
    }  
  
    // 定义Handler对象  
    private Handler handler = new Handler() {  
        @Override  
        // 当有消息发送出来的时候就执行Handler的这个方法  
        public void handleMessage(Message msg) {  
            super.handleMessage(msg);  
            // 处理UI  
            txt.setText(line);  
            Log.i("PDA", "----->" + line);  
        }  
    };  
}


点按钮没反应 没显示。
求教大神,

是版本问题吗?4.4的,不过这网上 人家说可以跑吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值