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();
}