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>