基于TCP的客户端和服务端数据传输

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ITzhongzi/article/details/84633852

功能描述: 从客户端向服务端发送字符串,服务端接收之后,把字符串转成大写,并返回给客户端,

客户端代码

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

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //客户端向服务点 发送字符串
        Socket s = new Socket(InetAddress.getByName("SKY-20180725WBH"), 10010);
        OutputStream os = s.getOutputStream();
        os.write("tcp, i am coming again!!!".getBytes());

        // 接受服务端返回的数据
        InputStream is = s.getInputStream();
        byte[] bytes = new byte[1024];
        int len;
        len = is.read(bytes);
        System.out.println(new String(bytes,0 ,len));

        // 释放Socket资源
        s.close();
    }
}

服务端代码

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 {
        // 接收客户端的 数据
        ServerSocket ss = new ServerSocket(10010);
        Socket s = ss.accept();
        InputStream is = s.getInputStream();
        byte[] bys = new byte[1024];
        int len;
        len = is.read(bys);
        String str = new String(bys,0,len);
        System.out.println(str);

        // 将客户端的数据转成大写
        String  upperStr = str.toUpperCase();
        // 从服务端向客户端 返回数据
        OutputStream os = s.getOutputStream();
        os.write(upperStr.getBytes());
        s.close();
        // 服务端的ServerSocket 可以不用释放资源
//        ss.close();
    }
}

猜你喜欢

转载自blog.csdn.net/ITzhongzi/article/details/84633852