TCP通信练习1(服务器给出反馈)

客户端

package com.inetTes01;
/*
客户端:发送数据,接收服务器反馈

 */

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端的Socket对象(Socket)
        Socket s = new Socket("192.168.18.6", 10000);

        //获取输出流,写数据
        OutputStream os = s.getOutputStream();
        os.write("你好吗,我来了服务器端".getBytes());
        

//        接收服务器反馈,相当于读取数据
        InputStream is = s.getInputStream();
        byte[] bys = new byte[1024];
        int len = is.read(bys);
        System.out.println("客户端:" + new String(bys, 0, len));

        //释放资源  因为is,os 都是通过s得到的不需要再释放
        s.close();


    }
}

服务器

package com.inetTes01;
/*
接收数据,给出反馈
 */

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器端的Socket对象(ServerSocket)
        ServerSocket ss = new ServerSocket(10000);


        //获取输入流,读数据
//       ServerSocket类下的 accept​() 侦听要连接到此套接字并接受它。
        Socket s = ss.accept();
//        获取输入流
        InputStream is = s.getInputStream();
//        读数据
        byte[] bys = new byte[1024];
        int len = is.read(bys);
        System.out.println("服务器" + new String(bys, 0, len));


        //给出反馈,相当于写数据
        OutputStream os = s.getOutputStream();
        os.write("数据已经收到".getBytes());


        //释放资源
        ss.close();


    }
}

 

上一篇:java学习(148):三个参数的输入流


下一篇:Java-知识4