• 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();
    }
    }
  • 相关阅读:
    spring + junit 测试
    备份mysql数据库
    JAVA访问Zabbix API
    pro git 读书笔记 3 Git 分支
    pro git 读书笔记 1
    pro git 读书笔记 2
    溢出和剪裁,可见性
    html 与 jsp 文件格式区别
    Eclipse 的 CheckStyle 插件
    【转】单元测试覆盖率
  • 原文地址:https://www.cnblogs.com/ql698214/p/5263376.html
Copyright © 2020-2023  润新知