当前位置: 代码迷 >> Android >> android 初识socket通信-java程序做服务器
  详细解决方案

android 初识socket通信-java程序做服务器

热度:49   发布时间:2016-04-28 00:43:50.0
android 初识socket通信--java程序做服务器

1.新建一个java工程做服务器

public class MyServer {    String str ;    public MyServer(){              try {        //服务器端的声明用serversocket,括号里面写端口号,端口号是自己指定的            ServerSocket ss = new ServerSocket(4700);            //accept方法在这里会一直等待客户端连接进来            Socket accept = ss.accept();                //新建一个读入流,字符集是utf-8            BufferedReader br = new BufferedReader(new InputStreamReader(accept.getInputStream(),"utf-8"));             //用这个方法读取客户端写入的数据            str = br.readLine();            System.out.println("从客户端来的数据:"+ str);            br.close();                } catch (IOException e) {            e.printStackTrace();        }           }    public static void main(String [] args){    //不要忘了这一步        new MyServer();    }}

2.新建一个android工程作为客户端

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //这里用到子线程有很多理由,可以自己百度了解一下      new Thread(){          public void run() {              try {              //cmd ipconfig获取当前本机ip地址                Socket client = new Socket("192.168.56.1", 4700);                //一定要要以换行符结尾,不然readline会一直读取不会停止,所以reaeline没有值返回                String str = "你好服务器\n";                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));                bw.write(str);                bw.flush();                bw.close();                } catch (UnknownHostException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }          }      }.start();    }
  相关解决方案