admin管理员组

文章数量:1558058

核心步骤如下:

step1:服务器端指定一个端口号来建立socket连接

ServerSocket serverSocket=new ServerSocket(9999);

step2:(服务器端)一直监听这个端口有没有socket连接过来

    Socket socket=serverSocket.accept();

step3:客户端新建一个socket,传入服务端的地址和端口号,连接上服务端的端口

 Socket clientSocket=new Socket(serverIp,port);

step4;客户端发送消息,服务器端接收消息

step5:服务器端关闭流和socket

step6:客户端关闭流和socket

step7:先运行服务器端程序,再运行客户端程序

服务器端代码:

public class TcpServer
{
    public static void main(String[] args) throws IOException
    {
        //1:服务端指定一个端口号来创建socket
        ServerSocket serverSocket=new ServerSocket(9999);

        //2.等待客户端连接过来(一直在监听),这个socket和客户端建立连接的socket是同一个socket
        Socket socket=serverSocket.accept();


        //6.读取客户端的消息
        InputStream inputStream=socket.getInputStream();

        ByteArrayOutputStream  pipe=new ByteArrayOutputStream();
        byte[] buffer=new byte[1024];

        int len;

        while((len=inputStream.read(buffer))!=-1)
        {
            pipe.write(buffer,0,len);
        }
        System.out.println(pipe.toString());

        //7.关闭io流
        pipe.close();
        inputStream.close();

        //8.关闭socket
        socket.close();
        serverSocket.close();

     }
}

客户端代码:

public class TcpClient
{
    public static void main(String[] args) throws IOException
    {
        //3.拿到服务器的地址
        InetAddress serverIp=InetAddress.getByName("127.0.0.1");

        //4.拿到服务器的端口号
        int port=9999;

        //5.创建1个socket连接(传入ip和端口)
        Socket clientSocket=new Socket(serverIp,port);

        //6.用io流发送消息
        OutputStream outputStream= clientSocket.getOutputStream();
        outputStream.write("你好,欧阳水鸣".getBytes());


        //9.关闭流和socket
        outputStream.close();
        clientSocket.close();

    }
}

本文标签: 服务器端客户端发送消息TCP