zoukankan      html  css  js  c++  java
  • Android之Socket通信(一)

    一、服务器端,运行在PC机上

    import java.io.*;
    import java.net.*;
    public class SimpleServer{
        public static void main(String[] args) throws IOException{
            ServerSocket ss=new ServerSocket(30000);
            while(true){
               Socket s=ss.accept();
                OutputStream os=s.getOutputStream();           
                os.write("中国欢迎您".getBytes("GBK"));           
                os.close();           
            }
        }   
    }

    二、客户端,运行在Android设备上

    1.在AndroidManifest.xml文件中添加权限

    <uses-permission android:name="android.permission.INTERNET"/>

    2.MainActivity.java

    package com.example.shiyanshi.simpleclient;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.EditText;
    import android.widget.TextView;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.Socket;

    public class MainActivity extends AppCompatActivity {

    TextView txtShowData;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtShowData= (TextView) findViewById(R.id.txtShowServerData);
    txtSend=(EditText)findViewById(R.id.txtSend);

    new Thread(){
    @Override
    public void run() {
    super.run();
    try {

    Socket socket = new Socket("116.57.85.184", 30000);

    InputStream inputStream = socket.getInputStream();
    //以GBK编码方式构建BufferReader
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"GBK"));
    String line = bufferedReader.readLine();
    String string=new String(line.getBytes("GBK"));
    txtShowData.setText(string);

    bufferedReader.close();
    socket.close();

    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }.start();
    }
    }
  • 相关阅读:
    sed 使用总结
    rgmanager 介绍
    linux nbd & qemu-nbd
    corosync基本使用
    svn 基本使用
    tornado 实践
    mysql mac启动
    postgresql
    django
    django
  • 原文地址:https://www.cnblogs.com/ql698214/p/5263376.html
Copyright © 2011-2022 走看看