SocketChat通信

来源:互联网 发布:解码器和矩阵的区别 编辑:程序博客网 时间:2024/06/08 15:56

MainActivity

import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;/** * 客户端 */public class MainActivity extends AppCompatActivity {    private OutputStream outputStream;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        connectServerWithTCPSocket();    }    //发送消息    public void sendMsg(){        // 把数据写入到OuputStream对象中        try {            outputStream.write("客户端数据".getBytes());            // 发送读取的数据到服务端            outputStream.flush();        } catch (IOException e) {            e.printStackTrace();        }    }    protected void connectServerWithTCPSocket() {        new Thread(){            @Override            public void run() {                super.run();                Socket socket;                try {// 创建一个Socket对象,并指定服务端的IP及端口号                    socket = new Socket("192.168.191.2", 1989);                    // 获取Socket的OutputStream对象用于发送数据。                    outputStream = socket.getOutputStream();                } catch (UnknownHostException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        }.start();    }    public void onClick(View view) {        //发送消息给服务端        sendMsg();    }}

activity_main布局

<RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="alice.bw.com.socketclient.MainActivity">    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:onClick="onClick"        android:text="这里是客户端"/></RelativeLayout>
原创粉丝点击